Move Producer classes to a Producers module

They were inconveniently located in the Binder namespace, and are
now in Puppet::Pops::Binder::Producers
Remove unused LambdaProducer

All producers are now explicit classes.
Improve Multibinding (drop combinators, improve options, and errors)

- Removes the Combinator logic.
- Adds options to multibinding producers
- Improves detailed error message regarding type errors in multibind
- Improves documentation
- Adds test cases
Remove the defunct multibind_combinators.rb file
Improve documentation of injector and do cleanup

This cleans up the logic and improves the documentation.
Improve formatting and documentation of Producers.
Adds Hiera2 bindings with backends for YAML and JSON 

This commit contains the initial work on the Hiear2 bindings producer.
It is W.I.P. at this point as some concepts still remains to be
fully designed. In particular, this commit only contains whats needed
in order to read bindings from one module. The code that finds and
then combines modules is not included.