Adds producers for combinations and noncrossing partitions

Moves integer_partitions to a new file "partitions.jl"
New methods:
- cool_lex: Implements the cool-lex algorithm of Ruskey and Williams, 2009 to generate (n,k)-combinations
- ncpartitions: An original algorithm to generate all noncrossing partitions of a given length