consistent description
use env in shebangs
dump raw modules into third-party/; update deps with peru
sync to an explicit hash for pyyaml

I recommended using the tag name, but I shouldn't have. Tags can change,
but hashes are forever.
add docopt to peru.yaml and third-party
reimplement the command line parser with docopt
loop over command names in main

This reduces some duplication in the big triage statement in main, but
the important benefit is that we can tell when peru is invoked without
any command, and we can print help in that case instead of printing
"peru.yaml not found".
actually test the override --list flag
only test for a clean tmp dir if that dir exists
test_help and test_version
use @annotations to map commands to functions in main

Also update the override interface to use subcommands properly.
stop suppressing GitRepo's stderr in tests
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
clean up peru_plugin_main
hg reup