Memoize refactor

Refactored memoize_outfile into two decorators, a memoization decorator and a filename transformation decorator, transform_to.

Transform_to got a new capability that if out_dir is a kwarg in the decorated function, transform_to will use that as the ouput directory instead of the in_file directory.

Added a filter_to decorator that appends a word onto the stem of a filename, so you can generate a new filename of the same type without knowing what that type is.