manage yum repositories

Enable or disable upstream repos based on $offline
Add switch to disable this management
updating classroom module
Manage ngIRCd on the master
use $servername for IRC
add proxy support
Add reporting tools for practioner labs
All classroom automation integrated

Instructors should simply classify their classes with the appropriate
wrapper class.

* `classroom::course::fundamentals`
* `classroom::course::practitioner`
* `classroom::course::rapiddeploy`

This class will do the needful, figure out what kind of node this is and
classify it appropriately. Helper classes are organized in a
discoverable manner.

This supports roles of:

* master: the classroom master
* agent:  the student's primary node, may be simply an agent, or a master/agent
* proxy:  runs the HAProxy node for the classroom
* tier3:  a student's secondary agent node
Merge pull request #268 from binford2k/wip/rafactor_for_integration

Wip/rafactor for integration