Implement numPartitions() in Python

Use dynamic progamming to compute the number of k-partitions of [n], i.e., the
Stirling number of the 2nd kind.  Takes O(n) time and space.
Implement numPartitions() in Matlab

Fixes #2