Better documentation about API navigation and compatibility

This enhances the documentation to try and be clearer about where we do, and
do not, promise users compatibility information, as well as how to use the
navigation tools available.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
/svc/boot: produce proper errors when params are bad

If we get a request without params, or one where none of the params are in
the lookup criteria configured in match_nodes_on, we need to complain
cleanly.

Before this change, either kind of request would lead to an internal server
error. Now it leads to a HTTP status code of 400 and a log entry that a bad
request was made.
Change logging so that we send all logs through TorqueBox::Logger

This changes all logging so that it goes through TorqueBox::Logger and
establishes a few categories that seem useful in picking the logging apart.

Currently, it's not possible to change the log levels other than editing
JBoss configuration; see https://issues.jboss.org/browse/TORQUE-1179

There's also a couple minor issues with logging that should be addressed
upstream to make logging more user-friendly:
https://issues.jboss.org/browse/TORQUE-1177 and
https://issues.jboss.org/browse/TORQUE-1178

This fixes https://github.com/puppetlabs/razor-server/issues/93
* lib/razor/config.rb: produce better error when config file can't be read
* spec/config_spec.rb: fix test failure

Test failure was caused by commit 643d495c. The author of that commit has
been talked to about running tests. Sternly.
Ubuntu Precise (12.04 LTS) generic installer

This implements a better Ubuntu Precise installer.

This includes some new installer helpers to allow using repo_url as tool
for retrieving host, port and path of the repository
independently.  (This is required to support the Debian/Ubuntu
installer, which wants them as components rather than a single
fully-formed URL.)

This is partially rewritten by Daniel Pittman <daniel@puppetlabs.com> to
clean up the commit style, and move some code around to better locations.

I made no functional changes to Thomast's work, which was excellent in
all other ways.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Update BOOTIF include the network type and mac

This updates the installer to use iPXE facilities to inject the MAC address of
the DHCP interface into the installer, rather than depending on a much more
convoluted round-trip through the Microkernel.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>
Define architecture as part of the installer

This adds a manually defined `architecture` field to installers, which
is useful for the Ubuntu installer -- it generally only ships a single
architecture on a disk.