Combinations n choose k

given an array n generates all lists with k choices from n