Added a Vagrantfile to set up a Linux box, hosting CanaryMod and IPython

There are also a few commands to make it easy to use the environment
from the Vagrant command line using "vagrant ssh -c COMMAND".

Also, includes the Hello World program implemented in IPython.
Fixed sequence problem with environment setup.
Initial commit of the Lab Server Controller
Do some server configuration on startup.
Merge pull request #1 from madewokherd/vagrant

Do some server configuration on startup.
Initial commit of the Docker pieces for a student environment.
Merge branch 'labserver' into vagrant

Consolidating the separate labserver work into the vagrant branch,
since the labserver will use vagrant, too, for local development.
Replaced the use of PBR with a pure Setuptools config.

PBR was causing more trouble that it was worth, mainly with trying to
pull details from Git that weren't appropriate for a module that was
part of a larger Git repository.
Lots of work on the student-environment Docker image

Change Dockerfile and build script to take advantage of Docker
cache. Docker caches intermediate steps, so moving the "apt-get update
&& intall && clean" into its own RUN command greatly speeds up
rebuilds of our image.

Updated the README to use the coderdojotc.org Docker namespace.

Change the student environment to enable RCON for the Minecraft
server. Currently uses the same password as IPython, but this really
needs to be passed in from the environment so it doesn't get baked
into the image.

Also note, RCON does not currently work on CanaryMod. It looks like
there is a bug in the way CanaryMod handles the server
configuration. Need to work on fixing that.
Initial Vagrant file and server setup script for the lab server.

This lets you simulate the lab server in a Vagrant-managed virtual
machine.
Create a Docker image and provide instructions for compiling Canary
Improved canary-build documentation.
Overhaul student-env-image build to use Supervisor and run unattended

Uses run scripts for Canary and IPython, launched by Supervisor.

Uses tmux to manage Canary/Minecraft.

Treats Canary as a group so the shutdown signals from Supervisor reach
the right processes.

Moved more logic into Docker file to speed builds and cut down on
extra scripts. Leverages information passed in environment variables
to better work with Docker.

During the image build, we pull in the CanaryMod and RaspberryJuice
jars. Change this in the Dockerfile if you need to update the
versions.

Starts off with the basic Canary config files in the image directory,
instead of launching Canary twice, once to create the files, and
another to run the game.
Massive progress on implementation of the Lab Server Controller.

Changes to the Control Sheet:
 * Clean up the Control Sheet information model and add a validity
   check
 * Dropped the World Seed field, as we don't have any code to handle
   it yet.
 * Also brought the field names in the Control Sheet example,
   documentation, and the code into sync.
 * Check for whether the appropriate headers are present in the
   Control Sheet or not.
 * Moved to Commands from State. Simplified the processing.

Changes to the Controller itself:
 * Implemented the "RUN" and "DOWN" instance command.
 * Implemented the "show" and "process-commands" controller subcommands.

Minor Changes:
 * Improve logging formats, add timestamp when --debug is used.
 * Cleaned up the object model a little bit.
 * Other documentation updates.

Next up, implement remaining commands and work on pushing updates back
into the Control Sheet in the Google doc.
Implemented updating of the Control Sheet
Implemented the remaining commands for cleaning up or removing instances.
Added some prelimary instructions on how to launch the lab.
Merge branch 'vagrant'