(#16856) Add support for Data-in-Modules

This (mega) PR consists of support for "Data-in-Modules" (ARM-9) which consists in turn of Hiera-2 and Puppet Bindings (as described in ARM-8).  Note that this supercedes PR #1821, appending a few minor cleanup commits.