Test installer: make the YAML file name the same as the template dir

The YAML file was called someos.yaml, the template dir some_os/ which just
leads to confusion
Allow derived installers

It's quite common that one installer is a mild variation on another
installer. Make this easier by introducing a 'base' metadata attribute
which makes the current installer "inherit" from the base installer
Document how an installer is described a bit
Installers: infer the name of the installer from the name of the YAML file

Allowing an explicit name in the YAML file just leads to trouble when the
two disagree.
* lib/razor/installer.rb: raise an error if the metadata misses os_version
Make Policy.hostname_pattern mandatory
Node: calculate a hostname when bound to a policy
* spec/spec_helper (make_policy): convenience method for creating a test policy
Store mandatory root_password and make it accessible through a bound node
Store an optional dhcp_mac with nodes; nodes can send it when calling to boot
Store a mandatory domainname and make it and fqdn accessible through node
Redhat installer: small fixes to make all templates work
A bruteforce test to go through all stock installers/templates
Debian installer
CentOS installer
Make policy binding respect max_count
More tests to make sure that Node.checkin behaves sanely