Refactor the GremlinPlugin.

Try to generalize by provided an environment() method to the PluginAcceptor which will make it possible to pass important variables to the plugins themselves.  It will be up to the plugin to decide if they want to use those or not.  Dropped the init() method on GremlinPlugin as it is too much like pluginTo().  Created an AbstractGremlinPlugin which provides the shell/io objects to the Plugin implementation automatically.