Allow to create jails not on zfs
what ever the jails are on: zfs or anything else, metadata are now stored in etc/poudriere.d/jails/<jailname>
what ever the ports are on: zfs or anything else, metadata are now stored in etc/poudriere.d/ports/<portsname>
Add a converter that automatically convert the old metadata to new ones
/!\ Beware if testing that branch! The old metadata are nuked!!!! /!\
Nuke zget call to retrieve jail metadata
Nuke pzset and introduce the generic pset
Create a single destroyfs for ports and jails that works with both zfs and non zfs
Introduce NO_ZFS variable for poudriere.conf

User can set it, if not the system is tested:
- if zfs module is not loaded => NO_ZFS is set
- if no zpool exists => NO_ZFS is set
Factorize fs creation code between jails and ports
Factorize attribute getter and setter
Remove all direct use of zfs snapshot introduce the new markfs that does nothing on non zfs
Nuke directry destroy of zfs snapshot, rather use unmarkfs
Create helpers for fs operations
Remove most of global variables
Nuke prepare_jails
Now the builds are done in a ${POUDRIERE_DATA}/build directory with a reference jail and build elements
/!\ This code is still not usable /!\
Implement rollback for non zfs
Better not to keep the reference path
Fix typo

Reported by:	pgj
Convert jail_exists to the new world
Fix typos
Fix yat
Various fixes allowing a reference jail to be created
Various fixes allowing cleanup to happen correctly
Fix injail usage
Fix prepkg snapshot + fix mtree typo in options