Refactoring plugins to use new java interfaces.

This change adds 3 new interfaces for plugins to the framework. This
change also includes extensive cleanup as we consolidate internal plugin
functions into the pluginManager.  Also using the new interfaces we no
longer need to pass  additional parameters in quite a few methods.
7 files changed