Add CLI.  Support optional code.  Lots of cleanup, notes on readme and license stuffs.

Thanks for putting this together.  Hope you don't mind.