pyflakes/pep8 compliance fixes
WIP git-fat rewrite
Updated gitfat to work with legacy added files
Baseline for new decode function
Refactored decode to return stream and bool
Added new filter-smudge. Updated to use new decode

New filter smudge uses new decode function.  Updated can_add_file to use
new decode function and removed hash-object/cat-file in favor of just
checking the most immediately previous revision.
Flake8 fixes, remove unused function, use new cmd_filter_smudge
File reorganize and cleanup
Removed redundancy
WIP refactor
Cleanup names, add list_files function

list_files will list the path and git-fat hash for the files.
Added git-fat list command
Small formatting changes
Added a comprehensive argument parser.

Also added comments on some of the more complex pieces of code.
Adding clarifying changes from review with @rmeadows
inital testing framework
Fixed race condition, fix coverage collection.

Since the modified time on file stat only has a granularity of 1s,
updating the modified time wasn't good enough to resmudge. (e.g.
clone and fat pull within one second). See inline comments for
more detail.
No unit tests yet
Added more thorough testing, removed gc command
updated the readme