(PUP-1843) Restore hiera indirector terminus

This was collapsed into the DataBindings code in 9a5b81b412. That broke
community plugins using this code. This commit just restores the code
but doesn't revert the other changes from that commit.
(PUP-1843) Refactor duplicate code

Puppet::Indirector::Hiera and Puppet::DataBinding::Hiera had
identical implementations.  Puppet::DataBinding::Hiera is now a subclass
of Puppet::Indirector::Hiera.  Common behavior in their specs was also
moved into spec/shared_behaviors.
Merge pull request #2703 from jpartlow/issue/master/pup-1843-hiera-indirector

Issue/master/pup 1843 hiera indirector