calculate endpoint URLs more consistently

To clarify the various endpoint URLs in use, it makes sense for
them to be calculated in the same place, and in a consistent manner.
Introducing helper methods facilitates this.
drop api_port attribute

The ambiguously named api_port attribute was mysteriously introduced
way back in 1c1f5a51, in which commit it defaulted to 35357 in
attributes/default.rb and defaulted to 5000 in
bc-template-keystone.json.  Clearly this makes no sense.  The
intention seems to have been to use it for the public API endpoints
(which conventionally are on 5000) rather than the admin API
endpoints, and that's what effectively happened due to the proposal
defaults overriding the attribute defaults.  However as a result, it
duplicates service_port, which defaults to 5000 in both files -
Keystone only offers two ports, so it's pointless having three
attributes.

service_port is also the name of the attribute used in the current
upstream:

  https://github.com/stackforge/cookbook-openstack-identity/blob/master/attributes/default.rb

Therefore it makes sense to align with that by dropping api_port.
service_port and admin_port are both integers
invert conditional for legibility
add HA support via pacemaker barclamp

Allow the keystone-server role to be applied to more than one node.  If
HA mode is enabled, virtual IPs are allocated on the admin and public
networks, and grouped together with a Pacemaker resource primitive which
controls the keystone server service.