Feature/external plugins

From 29532a63feb2325b773386738d99a744dc3d0fca

This big fat commit enables the use of external pypi plugins as
seen in #61.

Plugins are referenced with use_plugin("pypi:my_plugin_name").

This requires the following to work:

  * There must be a package "my-plugin-name" on PyPI
    (Due to python package naming conventions, pip replaces
     underscores with dashes. So the package name MUST be
     "my-plugin-name").

  * After installing the package "my-plugin-name", it must be
    possible to import it with "python -c import "my_plugin_name".
    The package must expose its PyBuilder interface (tasks, ...)
    in its `__init__.py` (either declared there or imported).

  * NOTE: It is possible to circumvent the naming hitch by using
          a package name without underscores entirely (dashes are invalid).