Basic working prototype

@jcredding This is me trying to have something common to use when writing CLIs.

All this does is parse the `ARGV` for you and provide a list
of args and an option hash. It does no handling for you, no
validation, no help messages, no nothing except parse data.

For the common `-h` and `-v` help/version flags, it will throw
and your CLI should catch and handle this case.

It provides a clean option definition API for adding options to
parse.

The focus is:

* minimal, compact code (<60 loc)
* just parse data nicely for me
* clean option definition API

Anyway, look over this and give any feedback.  I'm going to put it into some previous CLIs I've written and do some further eval on it.