use @annotations to map commands to functions in main

Also update the override interface to use subcommands properly.
plugin.py -> plugin_client.py
initial version of plugin_shared, port git_plugin
port cp_plugin over to plugin_shared
hello world hg plugin
hg fetch working
hg_already_has_rev