Adding Plugin class to be used as base class for plugins.  Avoids
repeated code to set up the Timer callback.  Added Dispose method to
dispose of timer.
Major code cleanup and refactoring.