Implement CLI and external loop, closes #1

This commit is the first fully usable version of the program. It
doesn't handle flags that configure Java memory usage, but still,
it is usable overall.