Refactor to better support role/profile pattern.

  This commit results in an API breaking refactor that affects
  the subclasses of this module, anyone that previously used this module
  by simply including Class['razor'] are unaffected and their API
  remains intact.  The subclass API changes because of class and
  variable name changes.  These changes are being made so that this module
  better fits into the emerging standard of the role/profile pattern.

  Previous to this it was not possible to use the subclasses that
  make up what is an actual razor-server to construct a proper profile.
  The subclasses were more tightly coupled and took to much liberty in the
  satisfaction of their dependencies.