add memoize functions that can be used instead of cacheit

Whereas cacheit can be disabled, the memoize functions will always
be active.`
review edits.3
remove memoize functions
remove edits.4

remove -k option, but allow k=None which gives sum of all ways to
get combinations, permutations or partitions of all lengths.
edit docstrings