Encapsulate jcli functionality into a JCLI class

Seperating the argument parsing and config file loading logic from the
main program logic will make writing tests easier. In theory.