Cleanup work.

Command arguments now drawn from dictionary instead of object.  on a dictionary will now update the penultimate endpoint with a dictionary that is single key-value pair (the key is the final endpoint). Some how the multi flag functionality snuck out of the dev branch when it was originally merge with master, so that has been readded. Add docstrings on a few functions that were missing them and added module level docstrings.