Add gitignore for the hangar (build) dir.
Rename commander4 --> commander
Include rake DSL so we can use its funcs.
Lots more Rake stuff

* Task to build subcomponents
* task copies over subcomponents into warehouse
* Image task copies warehouse into rootfs

Also,
- change the build constants (image file name, etc)
More Rake stuff

Ensure that we're running as root. We need su privileges during the
build because
* we need to mount a tmpfs
* we need to chroot into the rootfs we're building

This patch adds the check, and bails if we're not in euid=0.
Add basic init files for the system.

We add a fixed set of init scripts for the system so that we
control what order services are brought up (ensuring that
the commander server, and its preflight avatar have a chance
to run before everything else in the system).

These are copied into the rootfs (system image) during the build.
Commander Gemfile specifies ruby engine/version

So that developers are forced to use the version that will be
used in production.
Require 'sqlite3' gem.

Since we're using SQlite as the db provider.
Specify ruby engine version in Gemfile.
Fix event name mismatch in upstart conf script.
Add error logs for when apply_configuration fails.

Helps debug what the root cause of the failure was.
Create complete passwd/shadow files.

Add entries for default (system) users in the shadow/passwd
files. Earlier we would create entries only for the configured
users.
Add workaround for standalone mode bundle.

See https://github.com/bundler/bundler/issues/2720 for details about
the issue.
Add some basic error reporting to the bin/launcher files.

Allows for debugging of errors during the setup of the runtime env.
After the env has been setup, we allow exceptions from the actual
program to be leaked to the OS (upstart, really) letting it decide
our fate (we might be relaunched).
Add a preflight-check failure handler script.

To handle the case where the preflight-check scripts fail to
configure the system (exit with non success code). What is to
be done in this case is still undecided, but it would be launched
from this hook.
Fix typo in Gem::Specification dir setup.
Hashed password should be saved as binary data.
Fix incorrect construction of salt string.

Splat operator on ranges creates arrays (which is what we want).
Main rakefile

Adds/changes various parts of the logic to
* build subcomponents
* build a (ubuntu) rootfs (a.k.a. image)
* copy subcomponents into a rootfs
* tweak rootfs bootup order
* build a disk based on the image
Change the triggerring mechanism for preflight-checks.

Rely on "stopped" and EXIT_STATUS instead of events.