First Refactor

- The agent has been refactored to make it easier for other plugins,
  like data plugins, to utilize its functionality.
- The Puppet functionality has been removed from the agent. The service
  agent itself is now a base for which other implementations can be
  created.
- A default puppet service implementation has been added.
- A Service data plugin has been added. This plugin has a single output
  called 'status' which can either be 'running' or 'stopped'. This
  plugin can be used during discovery or anywhere else that the
  MCollective discovery language is used.
- A service_name validator has been added which validates if a given
  string is a valid service name.
- A Rakefile has been added.
- A README file has been added which mostly duplicates the service wiki
  page entry but adds sections on the data plugins, usage and
  extendability.
- Tests have been written and refactored for the agent and data plugins
  as well as the PuppetService Util class.