Bring in some argparse for easy configuration
Add Model abstraction, improve some documentation
Clean up evaluate function (sorry Arthur)
Clean up code, bring in command-line arguments @ train, test