Refactored how options and arguments work.

"Alias" and "value" are now args, not values to the flag, since you can't
have two values on a single flag. I could set something like

--alias "somestring" --value "someCommand" but that's not really how
I want this app to work.
Finalized some functionality and added a lot of tests.

And yes, I realize I'm still doing this backwards, but the functions
were orders of magnitude simpler to code than the tests.
Finished writing tests.

And fixed a few things that weren't working. It looks like everything is in place for the first pass at this app.
tiny tiny changes.
Updated the readme.

I think this is about ready to go out into the world.