Rewrite data model to be pure hiera

This patch adds experimental support for a distribution that uses pure
hiera in place of the scenario_node_terminus.

Data mappings are expressed using interpolation except
in the case where they are non-string, in which case
yaml anchors are used. At this time, YAML anchors are not
working across files, which places some restrictions on
their use.

Scenarios are now a part of the hiera_data folder,
and each scenario yaml file contains its mappings,
globals, and in future probably its 'user.scenario.yaml'
data.

Roles are under scenarios/%scenario/$role, and use a hiera
lookup of 'classes' and 'class_groups' to include classes.

Class groups are a new yaml file in hiera_data, and have
been changed to be string quoted since starting yaml keys
with a % is invalid.

The original idea as well as the above description for this data model
is by Micheal Chapman for stackforge/puppet_openstack_builder.

Change-Id: I56203339cf28bf25f7518772596d0175b064499e
ceph::osd support for scenario_node_terminus

scenario_node_terminus allow users to specify a data layer that lives on
top of Puppet and allows an additional level of flexibility to
deployments.
It was designed to compose a set of core Puppet modules into multiple
deployment permutations (or reference architectures) called scenarios
while requiring as little duplicate code as possible.

The above description is taken from the source:
https://github.com/bodepd/scenario_node_terminus/

This patch adds the necessary dependency information to manage
ceph::osd instances while using scenario_node_terminus.

An integration test which can serve as an example configuration is also
provided.

Change-Id: I1bb2b402028df66478039535a3c7b48cbd05dcbb
Configuring all dependencies in the manifests

This patch defines the last missing dependencies between the different
parts that make up a RADOS cluster.

The entire module should now have sane dependencies and except where
explicitely wanted, the integration tests should not need to specify
them anymore and have been updated appropriately.

Here is an overview of the dependencies:

When installing:
* packages:
  * need the repositories
* configuration (ceph_config):
  * needs the packages, so the base folder exists
* ceph::mon:
  * needs all configuration (ceph_config) to be done
* ceph::key:
  * needs the binaries (package)
  * if injecting configuration needs to be available (to find the
    address of the monitor)
  * if injecting needs the monitor to be available
* ceph::osd:
  * needs all configuration (ceph_config) to be done
  * needs monitors in the same cluster to be running
  * needs keys in the same cluster to be installed
* ceph::pool:
  * needs all configuration (ceph_config) to be done
  * needs monitors to be running
  * needs keys to be installed

When removing:
* ceph::mon:
  * needs the binaries (package) still around
* ceph::osd:
  * needs the monitors in the same cluster to still be available
* ceph::pool:
  * needs the monitors to still be available

Change-Id: I26933fcccdb4d953725070dc46456c36f2fee101
Replaced 'mutually exclusives' with 'mutually exclusive' in comments

Change-Id: If91ec483da6fb45144cf84abe1cffc20708616ec
Closes-Bug: #1326251
Merge "Replaced 'mutually exclusives' with 'mutually exclusive' in comments"
added missing copyright year in init.pp

Change-Id: Ib0d196712365072f14beb9ccba107f4fefebe948
Closes-Bug: 1326249
ceph-autotool typo

In manifests/key.pp replace ceph-autotool with ceph-authtool (replace
the o with an h)

Change-Id: I52a9373d9f3aa941ce0277e476dba9d72c63ab70
Closes-Bug: #1326258
Edit of the manifest repo.pp and change the xarses by the email

Change-Id: Ie3eff99d3763b38af03cd1a4d518b4554d572cd8
Closes-Bug: 1326252
Add Copryright date

Replaced 'Copyright (C) iWeb Technologies Inc.' with 'Copyright (C) 2013, 2014 iWeb Technologies Inc.'

Closes-Bug: #1330931
Change-Id: Ieb3c46abd5310b3c0ae0403bf88241f3241e7d6f
missing year in mon.pp copyright notice

Change-Id: If01fd0726db3da1ecbe32bdb57d994dcf5587e58
Closes-bug: 1330928
missing year in params.pp copyright notice

Change-Id: I7d05de24cc364682c0925fc7c0897215e09c3d9e
Closes-Bug: 1330927
missing year in defines/ceph_mon_spec.rb copyright

Change-Id: I68aca0fd13c770e8074b608d753e2c987cbeda54
Closes-Bug: #1331003
The year missing in Copyright is add

Closes-bug: #1330987
Change-Id: I8625c4f0b9733b96d8c54aac76339c7b50eb9ef4
Merge "Edit of the manifest repo.pp and change the xarses by the email"
incorrect cloudwatt.com email in spec_helper_system.rb

Closes bug: #1331008
Change-Id: Ic975ea184408fe643c80f70a85b220a1ddc92f41
Add year to copyright notice

Change-Id: Ib6fee21e3c3cb735233e607e6fdae121180f8929
Closes-bug: #1330929
Merge "Add Copryright date"
Merge "ceph-autotool typo"
Merge "missing year in params.pp copyright notice"
Merge "missing year in mon.pp copyright notice"