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.
Fix refresh bug

Previously, the reload action was triggered
based off changes to the consul class.

The events for all changes were not being
captured b/c of class containment issues,
meaning that this reload was not being
performed.

This updates the resource to respond to
changes of the service resource.
Update Puppetfile and fixtures

Pin cassandra to fix an issue with the
latest commit from the upstram repo.

This commit also changes repos from https
to git protocal to reduce test times.

Pin ceph correctly