Added a flag "precedence" which can be either "backend" or "hierarchy".

It defaults to "backend" which is the traditional way hiera currently works.

Setting "precedence" to "hierarchy" means that all backends will be queried
for a given tier of the hierarchy before moving on to the next tier, in the
order of the backends given in hiera.yaml.