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
Reword test to clarify master resolves *and* is pingable.
Fixed the Rakefile not parsing because of a rogue end.
Update workdir.pp
Upgraded to the latest version: 3.3.1
Removed agent tarball.

We no longer need to download the agent tarball since the master comes
with it packaged now.
Without an agent we no longer need an array.
Optionally set the version printed in the filename
We no longer need the agent tarball.
Use the same OSS versions as PE.
Merge pull request #338 from fnaard/ticket/TRAINVM-79/reword_verify_script_master_resolves

Reword test to clarify master resolves *and* is pingable.
Update the packages in the ks.

Added rubygems-json and ruby-devel.
Update to 3.3.2.
Package names are dumb.
Get rid of the yum clean all command.

I've removed this so that the skip_if_unvailable option for the yum repos will work.
Added virtual classroom support to the module

This simply adds two classes:

* `classroom::virtual::master`
* `classroom::virtual::agent`

For now, the students should classify their own nodes as needed. There's
significantly less automagic than in the ILT classrooms right now.

The `master` class will precreate repositories for all expected modules
on the student's master. If they'd like to add more, then can add
to the $extra_repositories parameter.

This will require @casharma to update the variable in
`classroom::params` to match the actual exercises.
Add a default value for allow_virtual on Packages.