Create restricted_partitions.py

added functions to find:
1.) smallest maximum addend for a partition of N with S parts.
2.) number of partitions of N with S parts and K as the largest part.
3.) uniform random partitions of n with s parts with no rejection rate.
# 3 relies on #'s 1 and 2  -KL