Significant refactor of the advanced module

This is the WIP refactor. The old module was super hairy to follow and
included a lot of redundant or out of date configuration.

This removes the scripts and whatnot to do the initial setup because
they'll never get used. It also eliminates most of the PuppetDB
configuration, since that's now a first class citizen in PE. It
drastically simplifies how the certificates are managed, so it's finally
easy to see which files go where.

Next up is to clean up the dependencies on external use specific modules
and use the standard issue irc & haproxy modules instead. At that point,
I'll update the version info so we can release a new module.

This is fairly well tested, I banged on it all day. It's still not
ideal, due to the wacky stepped architecture that we're using. I didn't
spend too much time trying to solve that problem though, since I may
just rearchitect the class to a more usual layout.

More eyeballs are appreciated. Please, take a look. Let me know if I
missed anything.
Add gem caching to the bootstrap process

Both Advanced and Extending require external gems. Let's cache them
locally, just like packages, and add a source to root's .gemrc
Add the sinatra dep back in

Now that we're caching gems, this will work as expected.
Depend on the upstream IRC module
HAProxy cleanups

There was no reason to use Zack's fork. The **only** change was a
modification of the balancermember... and the students have been using
the upstream haproxy module for that for months.
Add report url to irc message
Sync all the certs so agents work again

This syncs all the certs, including private, so that the agents work
again. This is required because when the agents run against themselves,
their master will push out copies of its own certificates... which will
disconnect them from the classroom mesh. This replaces them with the
master certs so that the same certs are synced out.

For the record, I hate this plan. I do not like implicitly promoting it
as a *reasonable* way to do this.
concat is transitioning namespaces

For the time being we need both modules for dependencies.
Fix the console stack trace
Add the multitail package
Bump the module version.

Put a fork in it, I think it's done.
Add yaml/erb validation functions
Ensure that file perms don't blow up the master
Only sync files if the peadmin user exists

Fixes #TRAINVM-31
No need for an empty placeholder file.
Merge branch 'wip/refactor_3.x' of https://github.com/binford2k/puppetlabs-training-bootstrap into binford2k-wip/refactor_3.x
install rubygems
rubygems is in base, not epel
create .gemrc after caching stuff
add builder gem