Log some interesting things about a node's lifecycle

We log for now the boot and bind events and sending the reboot action
* brokers/noop.broker: a broker that does nothing
CLI: accept a --json option in commands to read the params from a file
* app.rb: add a handler to get a node's log
Revamp the README.md; add an actual LICENSE
* bin/razor: just dump the response body when it's not JSON
* installers/microkernel/boot.erb: remove inadvertently added local URL

iPXE becomes very slow downloading if the Content-Length header isn't set.
Unless people use a patched Sinatra though, they are bound to see very slow
downloads.

See https://github.com/sinatra/sinatra/issues/739 for details
* README.md: add references to Nick's blog and puppetconf talk

These were left out inadvertently in redoing the README.
* README.md: fix links into Wikis
Fix license file link in README.md
* Rakefile (console): waiting for jRuby to start once is enough
Require that a node tells us it succeeded with a boot before we move on

Nodes now have to use something like 'curl <%= stage_done_url %>' before
they reboot to tell the server to move on to the next stage in an
installers boot sequence.

Failing this, the node will continually reboot into the same stage.
Remove CLI from this repo

The CLI will live in its own repo at https://github.com/puppetlabs/razor-client
Update to Torquebox 3.0.0

With this commit, you will need to rerun 'torquebox deploy' after running
'bundle install'
* Gemfile.lock: update to sequel 4.2.0
Revamp how we identify nodes

The /svc/boot action that the MK uses now accepts the MACs of the network
interfaces, serial, asset tag, and uuid sent from the microkernel
(collectively called the hw_info). The bootstrap.ipxe file collects that
information.

The /svc/checkin action now expects the internal ID of the node and uses
that to identify the node.

Nodes now store the hw_info in an array; a node matches the hw_info
provided by bootstrap.ipxe if any of the values sent in matches the node's
hw_info.
Update a node's hw_info when it changes
* spec/data/node_spec.rb: check that moving hardware leads to the expected error
/svc/boot: log to each node and the Razor log if more than one node matches
* app.rb (microkernel_kernel_args): fix typo