Move all scenario logic to a helper class

As I expand the set of tools based around scenarios,
I need the logic to be used outside of the node
terminus.

This commit creates the module Puppet::Bodepd::ScenarioHelper
and moves all logic from the node terminus to it.
Make methods more reusable

This commit goes a long way to makeing the internal
helper methods for the data model more reusable.

removes global_comnfig instance variables
- replaces its usage with local variables
- ensures that scopes needed by hiera are
explicitly passed in as scopes.

refactors class retireval code to make it more generic.

Adds a few helper methods that will implement the scenario
facte
Add basic scenario face

This commit adds the template for the scenario face which
will contains many utilities that can aid with debuggin.
Changes related to compile_role

This commit contains changes related to the compile_role
task.
fix typos

Signed-off-by: Loic Dachary <loic@dachary.org>