Update for orchestration of ceph install

- adds stmon roles to cloud resource files
- adds ceph specific data to at and vagrant-vbox hiera
- changes define rjil::ceph::mon::mon_config to a class
- adds mon_config as a class param
- allow option in mon_config to set leader vs. follower
- ensure followers fail when mon_config is empty
- change rjil::ceph::mon_config to class
- fix dependencies on blocker resource
- comment osd classes from mon roles (b/c it does not
  work yet)
- make stmonleader a service in consul so it can be
  blocked on
- pin ceph to the correct branch
Ensure that consul is installed as a part of bootstapping

This patch adds consul config to jiocloud to ensure
that it happens during the intial bootstrapping
phase. This is so that we can assume that DNS
can resolve external addresses during Puppet
compile time, so that we can use a Puppet
function to determine if a list of ip addresses
has been registered for a service.

It also fixes the following things required
to support this feature:

1. removes the consul user code from the manifest,
b/c it was causing the sudoers file to be overwriteen
when consul is installed as a part of the bootstrapping
process. The user is instead set in hiera, just like
other system users.

2. Updates service_blocker to ensure that is only
happens after services have been refreshed in
consul.

3. Ensures that consul service does not start for
agents until at least one server is registered via
the discovery token.

4. Ensure that service restarts force consul reload
Add ntp

This commit adds ntp support

1. adds an ntp class included by the system
class

2. assumes that etcd node will also serve as the
ntp server (this assumpton is made b/c the k/v
server and ntp should have the same cardinality
requirements for quorum.
Pin revision for cassandra

Currently, the upstream repo for cassandra
has changed in a way that breaks our deployent.

This commit pins the revision to the last known
working revision.
Only update local version once validation passes

Previously, the current version was set as soon
as puppet completed without error. This was problematic
for cases where Puppet may need to run multiple times
to result in a converged state. Although this is not
a desired case, this is currently required for ceph
installation.

It also makes sense to continue trying to re-running Puppet
when in an unvalidated state in hopes that it might result
in a functional system.

This commit ensures that the current version is not set
until the actual service has been validated.