Speed up partitions(n), partitions(n,m) iteration

* Reuse output array
* Specialize IntegerPartitions, FixedPartitions based on whether or not to copy
* Specialize collect() to always copy
* Reduce memory allocation