Introduction of ceph installation and configuration management

* ceph is used to do the installation and configuration of
common dependencies across classes (such as ceph package
installation, global configuration namespaces in ceph.conf).

* ceph::params is meant to hold defaults/constants for various
classes and manage operating system differences in the future.

* ceph::osd, ceph::mon, ceph::mds are introduced solely to manage
their respective 'global' configuration for the time being.

It was decided that we leave most default configurations up to Ceph
unless they are necessary in installing the cluster.
As such, the configurations that are probably most likely to be
changed are available as parameters but optional. If they are not
set (undef), the ceph_config provider will not write them to
ceph.conf and thus, Ceph will handle the defaults.

Other configuration options (exotic or otherwise) can always be
set through the users' manifests with the help of ceph_config.
If support is required, we can always add them if necessary.

Change-Id: I0020a65fe1caada8bc46f6dc63254bcfefb64dbb