Implement data_binding caching in node

This commit updates the node terminus such that it
stores its current data_bindings somewhere where the
custom hiera backend can find them.

This is being implemented for a few reasons:

- precompiling all hiera data is way faster than data bindings
- precompiling all hiera data is a useful debugging tool
- if we have debugging tools that perform precompiles, they should
use the same logic that is used by the Puppet master.