restore logic to force qcow2 image type when creating disk image with a backing store

This was in the original version of the backing_store feature but seems to
have gotten lost in one of the refactors during the 0.12 cycle.  This simply
restores the old behavior.  Interestingly, without this libvirt will still
create the new disk image but it seems to contain invalid data.
allow multi-device installs
- Added support for RHEL6.5 and derivatives
- Renamed OEL-6 to OL-6 - it's "Oracle Linux" since several years (old name is still supported) - Added OL-5
Add support for Ubuntu 14.04

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Added Windows 8.1 support
Add support for CentOS-7.0
Add Ubuntu ssh host key type ed25519 cleanup
Code simplification.

There should be no functional change here, just reducing
the number of lines of code by using a common idiom.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
add kernel parameter options
fix: Make sure there are no leases left behind from when oz was building the image (causing the final image to fail in getting an address).
fix: Disable hardware machine check on FreeBSD since that fails on AMD cpu's, causing them to halt with an interrupt 9-like error.
new: Log all boot messages to the serial console so they can be captured at the hypervisor.

While sed -I should take care of in-place editting, it apparently
doesn't which is why we explicitly remove the .bak file. Else it just
complains about the regex: \1 not defined in the RE.
change: Use the 10.0-RELEASE repository.
fix: Make sure there is only 1 partition so that it's easier to resize (specifically: grow) it once an instance is booted with it.
Skip symlinks when change permissions.

As pointed out by harmw, this can cause failures
while doing installs of FreeBSD, since the links
there are absolute, which ends in permission
failure.  However, the bug is more insidious than
that, especially when running Oz as root.  In the
case where the symlinks are absolute, then Oz will
*succeed* in changing the targets of the symlinks,
which will change permissions on the host OS.  This
is obviously not what was intended.

The fix is pretty simple; skip symlinks when trying
to change permissions.  Since we are walking the
whole tree, we'll hit the target of the symlink
eventually anyway.  While we are at it, combine
two very similar looking pieces of code into a
function.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Modification to MANIFEST.in to fix rpm builds

Include oz/*.rng files in MANIFEST.in, so they are included when
executing make rpm or make srpm
Add in a "precommands" section of XML.

These are commands that get run prior to package
installation.  They have exactly the same syntax
as "commands".

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Make file locking much more correct.

That is, hold the file lock across all operations for
that file, including copying.  This should prevent two
parallel installs from trampling over each other.

Signed-off-by: Chris Lalancette <clalancette@irobot.com>
Update the copyright notices to mention 2014

Signed-off-by: Chris Lalancette <clalancette@irobot.com>