Automate conversion of options to arguments

As discussed in PR #61, this pull request creates a more structured system for converting task-options to CLI flags and arguments. After I tweaked my original solution to accommodate the various use cases, I decided that it would be easiest to put the bulk of the logic in a separate module that is reusable by other projects.

This PR uses `flopmang`, a module which I wrote just for this purpose. It is fully unit-tested, and I encourage you to look over the code when you have a chance: https://github.com/dylancwood/flopmang. 

I tried to keep the changes here small in scope by not modifying any of the tests (except one, see notes in-line) or adding any new options. Hopefully this gives you high confidence that the changes do not affect the functionality of the code. 

Once this is merged (when you approve, of course), it should be even easier for me and other collaborators to add more tasks and options to continue expanding this module's coverage of the git CLI.

Please let me know if you have any questions or concerns. 
Any reason why we still have underscore and underscore.string here?