separate plugins into discrete commands

Separate plugin types by directory and commands by individual scripts. Support for a command is determined by the presence of a script with an appropriate name. Unfortunately, only a prefix can be used, since extensions are necessary on some platforms.
Good idea. Having `plugin_client/host`, `plugin[_shared]` and `plugins/` all at the top level of the module is getting confusing. Maybe we call put the git/hg/etc plugins under `peru/plugin/builtin/`?