use proper flags in the plugin interface

The new way to call a plugin is, for example with git:

  git_plugin.py --cache /cache/path fetch /dest/path --url URL

Relying on environment variables was awkward, because it made it
difficult to actually test plugins by calling them on the command line.
Now the interface is a little more natural.