Add a shell helper for demos/presentations

This will keep your bash/zsh prompt at the top of the screen.
It's useful for presentations and demonstrations.

Other features:
* clears the screen automatically with each command run
* lists directory contents when entering them (abbreviated if needed)
* shows the git or svn status in directories that have them

Run the commands autotop and unautotop to enable or disable.
Early bailout if not on bash

Doesn't support Zsh yet
COURSES-444

This fix creates directory environments for Puppet courses via the
classrom module.
A production environment is created and an environment for each student.
Each student git puppetcode environment will have a manifests directory
for the environment site.pp and an environment.conf file to prevent
caching.
The production environment is linked to the normal mondules and manifest
directories, plus an environments.conf is created to prevent caching
Update workdir.pp
Update workdir.pp
Add a default value for allow_virtual on Packages.
Merge pull request #319 from binford2k/feature/alwaysontop

Add a shell helper for demos/presentations
Updated the module versions for dependencies.
Merge pull request #344 from fnaard/ticket/trainvm-132/add_package_default

Add a default value for allow_virtual on Packages.
Add in the ngircd package and libident that it depends on.
Add in the package for haproxy.
Fail if Puppet is already installed

This should detenct when students show up with the LVM.

Fixes #TRAINVM-84
Merge pull request #359 from binford2k/ticket/TRAINVM-84/detect_prior_puppet_installs

Fail if Puppet is already installed
Use the first network interface only.

This allows the script to work on machines with multiple interfaces
defined. This is common when running on VirtualBox and a host-only
interface is added to SSH into.

Fixes #TRAINVM-139
Merge pull request #360 from binford2k/ticket/TRAINVM-139/use_the_first_interface_found

Use the first network interface only.
Offer warning when a period is included

This is a warning only because we use the period in the Architect
course. It should be scary enough to prevent users in other courses from
doing dumb things though.

Fixes #TRAINVM-129
Merge pull request #361 from binford2k/ticket/TRAINVM-129/make_script_warn_on_dots

Offer warning when a period is included
Updating gems to cache.

Set the rspec gems to the 2.99.0 version since that’s the version that
works with serverspec. Put them all into the same list since which
course they were for doesn’t really matter.
Add in the rake RPM so we can use it with system ruby.
So...

`gem fetch name-version` doesn’t actually work…anymore? Unclear on if
it ever did work.