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
this looks like it has the same problem as a previous patch. If you block at run-time, but set the server addresses at compile time (without failing), it means that you once this unblocks, there are no server addresses to add. However, just using the hard-coded address and relying on DNS to handle the fact there are multiples would be a much cleaner solution.