Backport/facter 2/confine blocks

This pull request backports the block form of confines to Facter 2. It'll be good to have this in the Facter 2.0 release, but also importantly it reduces the divergence between master and facter-2, which will make future merge ups less painful.