Reogranize classes to make puppet script more modular.

 * Allow for multiple methods of providing RPMs. manual setup and yum repo
   setup provided by default. Other methods can be added later.
 * Move plugin setups into separate classes
 * Break up DNS, datastore, broker, mcollective into separate classes.
 * Add docs