Add extensible, generic CLI option parsing.

Add a module which allows individual apps leveraging Charmonizer to
register their own command-line options.
Use CLI for parsing internally.

Replace manual parsing code with generic code, without changing the
interface quite yet.
Regen Makefiles to include CLI.
Finish switch over to CLI.
Remove redundant processing.