Improve the Makefile to incrementally rebuild
run_testcase to accept usage on stdin

Pass usage information in stdin instead of argv.
This makes manual testing easier.
Reindent run_tests.py
Add functions to dump patterns. Replace some exceptions with assertions.
Remove a const that was causing a compile error
Incorporate testcasenum into test output
Remove a partial argument test, which docopt.cpp doesn't seem to support
Remove now-bogus argument count check in run_testcase
Rewrite Option::parse. More tests now pass.
Rewrite tokens::from_pattern to handle spaces correctly