First Refactor

- The agent has been refactored to make it easier for other plugins,
  like data plugins, to utilize its functionality.
- A Fqdn validator has been added which checks if a given string is a
  valid Fqdn.
- A Nettest Data plugin has been added. This plugin has a single output
  called connected which will check if a connection can be established
  between the MCollective server and a given fqdn and port, and returns 'true'
  or 'false'. This plugin can be used during discovery and anywhere else
  that the MCollective discovery language is used.
- A Mma aggregate function has been added. It will process a set of input values
  and determine the minimum, maximum and average values of the set.
- A Rakefile has been added.
- A README file has been added which mostly duplicates the nettest wiki
  page entry, but adds sections on the validator and data plugins.
- Tests have been written and refactored for the agent, data and
  validator plugins.