Services listen on another port when HA is enabled

When the HA proxy runs in front of the glance services (API and
registry), make sure that they bind to a different port.

In the config file templates of these services, the ports were set from
a config hash, so refactor this and pass the port as a template
variable from the recipes.

Also fix configs for scrubber and cache, as these use the registry
bind/port too.
Add HA recipe

If HA is enabled, this recipe sets up a load balancing for glance
services (registry + api).

The recipe basically just asks for the ip/ports of other servers that
should be behind HA and can be failed over to and sets up load balancing
on the current node.
Setup HA and VIP networks in crowbar framework

Check if HA should be enabled. Currently, that means that there are
clusters defined for a given role, i.e. that list of role elements
expands to a differing list of nodes.

Based on that, mark the role as using HA. Then set up virtual IP network
for each cluster and make sure the DNS is configured, as the setup
recipe in the glance cookbook needs to resolve virtual IPs in the cluster.
Move method for fetching HAproxy servers to lib

This can be reused across barclamps, so move it into GlanceHelper module
for now. Refactor even further up later.
Centralize network settings

To make configuring / fiddling with network settings easier, centralize
them into a helper method, returning a hash w/ API + registry network
configuration.
Add caching to HA server lookups