Some initial firewalling cleanups.

Appropriate firewalling support is a hard thing in gluster if you take
in to account all the bootstrapping problems of what needs to be open
before subsequent things can work. Hopefully this patch is a good first
step in finally doing the right things.
Better volume property management.

This patch adds the beginning of better property management. Many
properties need types and testing filled in to work properly. This is
preliminary support to make it easier for others to test and offer
patches for options they use.
Nitpick cleanups.
Updated xml parser with new features...
Finally, Fancy Firewalling...

This adds experimental support for automatic firewalling. Initially, we
don't know the other hosts (until they are exported and collected) so we
start with an blank firewall to all hosts. After hosts start checking
in, we start only allowing specify host ips. For the volume building, we
can't predict (AFAICT) which ports will be used until after the volume
is started, so we initially allow all ports inbound, until the fact gets
the data from the started volume and uses those specific ports. This
naturally takes multiple puppet runs to complete.
Additional UUID facts.
Misc comments.
Added short comment.