Patches to reduce build failures and improve build time

* Fail during runtime on mon_config
  This patch will use runtime_fail on ceph mon_config rather than fail on compile
  time. This will improve the deployment time by only fail those resources depend
  on runtime_fail type and allow other resources to be deployed/configured.
* Additional apt-get update to fix key errors found
   This is a possible fix on failures happening on installing packages because of package authentication errors.  (possible fix for the issue #211
* Haproxy node should know all services to be configured
   This is a possible fix for issue #213
* Haproxy backend service validation
   This patch add haproxy backend validation using socat to collect haproxy stats
    and thus checks each backend server are there in haproxy configuration and
    optionally verifiy individual backend service state.
* Sort the IP addresses to configure haproxy
   This will avoid unnecessary haproxy reconfiguration and restart on every puppet run.
* Use consul_kv_fail instead of consul_kv_blocker
    Blocker blocks all puppet execution once it is executed (not only dependant resources)
    until the dependancy available. So better just fail all dependant resources
    rather than blocks unncessary resources.
I'm not sure that I agree with this. I would much rather block than fail as I want to have as few expected failures as possible.

we can easily block to be more performant by better managing dependencies