Move MK checkin `hw_id` from URL into JSON body

The MK checkin API had a somewhat inconsistent input: the node `hw_id` field
was supplied inline to the URL, but the facts were supplied in a nested JSON
map, allowing for other inputs.

This pulls down the `hw_id` from the URL into another field in the input JSON,
next to facts, to make the interface uniform.  Now, one place alone needs to
be consulted to understand what is happening -- and the JSON document is a
stand-alone record of what will change.

(That is: the document contains all the data required to reproduce the act, so
capturing the body alone is sufficient to have an audit trail of operations.
It still does not capture the intended operation -- that is "implicit" in the
surrounding environment, so this is not entirely sufficient to provide the
audit facility.)

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Make the template lookup for installers more flexible

Though we don't use it yet, it's now possible to have both templates stored
in the FS, and templates that are stored in the DB as text.
* db/migrate/002_create_base_schema.rb: move validation regexps to constants

We will want to use these for other validations, too
Allow storing installers in the DB in addition to the FS
* lib/razor/installer.rb (find): look for installers in FS and in DB
Add a 'create_installer' command
Documentation for the create_installer command