Roles/Profiles manifests using data from hiera

Role and profile manifests according to the roles/profiles pattern:
http://www.slideshare.net/PuppetLabs/roles-talk

The following roles are available:
* allinone: a node containing both a mon and an one or more osds
* mon: a mon node
* osd: a node with a client.admin, client.bootstrap-osd and one or more
       osds
* client: a node with only the ceph.conf config and client.admin key

The osd and client roles require a mon is already available.
When adding multiple initial mons, the puppet runs waits (hangs), until
all mon nodes are up. This is due to how ceph gets bootstrapped and not
due to puppet.

The above roles use the following profiles:
* base: installs ceph and configures ceph.conf
* mon: configures a mon process
* osd: configures one or more osds
* client: configures the client.admin key

All of the above are configured via hiera. Example hiera files are
provided.

Change-Id: Iba9aca7f124bd3a719dc18292b18fc0f4f386d5c
WIP

Change-Id: I2401e8dbe6a532ddaf394f06c54f3505313ad93d
Refactoring to only require mandatory params in hiera
Refactoring ceph::profile::mon
Refactoring ceph::profile::mon
Merge branch 'spectests_roles_profiles' of /vagrant/ceph into spectests_roles_profiles
Refactoring Profiles
Merge branch 'spectests_roles_profiles'

Conflicts:
	manifests/profile/mon.pp

Change-Id: I09e7b6c46cc20a421df7c07f0dd47ab75d8fb67a