Dependencies

Support for plugin dependencies: A plugin can set a list of plugin names it needs to run before itself. They are all supplied with the command line arguments passed and run before the plugin itself.

It's a naive implementation!

It works for my simple case (plugin 'run', which depends on 'compile' and 'install') but I'm sure other cases will need to change how this is handled. One thing I'm thinking right now is plugins that need a result value from it's dependencies.

Anyway, I think at least this is useful as a start.