Various bits and bobs, not quite a fully working poc.
stuff.
Going a different direction for now, have slop for the subcommands bit.
Rewrote most of git/helpers into a class Repos.
Added process_arg for the : pairs, put config_user/git_installed back
Made fetch work, added a skeleton option for data_dir
Made my attribute methods smarter.  Added config_file
Renamed cached?->fetched?  added config_file?
Refactored the commands into their own files.
Fixed a few minor bugs, if it fails it'll at least tell us why.
minor term refactor, added target_directory and parse_config
This is fun, added a quick shell command for testing.  Need to disable by default.
Boom, install works.
Refactored install to check for any file before making any links.
mmm, refactoring and adding helpers.
More helpers! probably too many.  refactored install based on the helpers.
Fixed installed? and is_my_file?
Boom.  Uninstall.
Dropped kruft.
And we have branch support.  Argument is now user@repo:branch.  added git_cmd helper.