big tweaks for a truly functional module:

- refactored the install process completely to use discrete classes
- added ubuntu support with the plugins
- added the provider => shell to commands that errored with puppet 3.1.1 to be able to non-fully-pathed commands
- added centos repo support
- added apt repo support
- enhanced test coverage significantly for classes