Multiple nova consoleauth support

* 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 memcached based caching for nova controllers 
 * This is required to support multiple nova consoleauth nodes.
* Fixed issue on configuring private_address/public_address on cp nodes
@bodepd round-robin will not work here as we are not syncing data in memcache servers. So the nova( or any application) have to reach the same server where the data has written. If we add the server list in the memcache url, the client code take care of this problem by using some kind of consistent hashing algorithm.

We are not using memcache for contrail - we should only have memcache used in openstack control nodes. I believe we just need couple of memcache servers to start with.