Added consul service for memcache.

* Memcache should be a central service in order to use it to store tokens and to
  use multiple consoleauths. So adding a consul service for that.
* added better test for memcached.
* Added spec tests
Added memcache caching for nova controllers.

This is required for multiple nova consoleauth nodes.
Fixed issue on configuring private_address on cp nodes

There is a problem on configuring private/public address/interface specifically
on compute nodes from hiera data, as during the deployment, the address of
physical interface will be assigned to vhost0.

Added a function to get various details of first interface which has any IP
assigned out of a provided list, or from interfaces fact. Used this function to
assign vncserver_proxyclient_address to make novnc work.
Fail/Errorout the execution on runtime

fail function was used to fail if memcached service was not registered with
  consul. But the problem there was, the memcached was started on the same nodes
  as nova controllers which caused a situation where puppet never executed as fail
  function run on compile time and it did not get a chance to setup memcached.

Added a type to error the puppet execution and thus any dependant resource to
 that wont be running.

Added runtime_fail type to nova controller and made a dependancy to nova_config where
memcache is configured.
Included ntp to avoid spec test failures
Merge pull request #182 from hkumarmk/memcache_nova

Memcache nova