new: Added FreeBSD support to ConfigDrive
new: Added FreeBSD template for manage_etc_hosts support
fix: Updated some syntax to be pep8 compliant
Removed using lazy mode for umount

Safer for cloud-init to not use lazy mode for unmount
merge from trunk
support 'mtype' as a list, and fix up freebsd mount types

this supports a list of input, and cleans up that list
for the platform specific mount types.  Basically,
 mtype = None
 means 'mount -t auto' or the equivalent for the platform.

and 'iso9660' means "iso type".
Fix link for config_drive doc

The current link does no longer work.
fix re-use of 'platform' in local scope
further platform cleanup
tools/build-on-freebsd: sort pkgs list
tools/build-on-freebsd: add blkid and e2fsprogrs
tools/build-on-freebsd: e2fsprogs provides blkid
sysvinit/freebsd: set sane PATH
add ConfigDrive for freebsd config by default
FreeBSD: Support ConfigDrive

Add support for freebsd reading config drive.  Primary work is
related to re-factoring mount_cb to not be so linux specific.

Other changes:
 * declare PATH in freebsd initscripts
 * list dependency on e2fsprogs (for blkid)
 * enable ConfigDrive in freebsd config
 * hosts.freebsd.tmpl added
add code for setting up swap file
add doc
support human2bytes, separate handling out to method
maxsize must be 'None' otherwise it is zero, and no swap allowed
add debug statement for recommended