simplify endpoint lookups

We only need to check if the endpoint namespace hash contains a uri key in
one place. It makes sense to leave that check in 'uri_from_hash' and
remove it from 'endpoint'. This just makes following the logic a tiny
bit easier and removes redundant code.

Change-Id: Ie8e66ae3ab4204b2e96e8cba68f7294df8bd571b
Use platform_family instead of platform

This will allow the ibm_powerkvm platform to be recognized and will
simplify uses of multiple platforms from the same family.

Change-Id: Iebf2aad9f3b4649fb5c27d2fc93ee60c67e42737
Partially-Implements: blueprint add-ibm-powerkvm-enablement
Implements: blueprint platform-family
add ability to specify different port for locally bound services

implements: blueprint increase-ip-binding-flexibility

Change-Id: I8c949becda9d9f66d66346a179c8f1b73a3e812d
Merge "add ability to specify different port for locally bound services"
Merge "simplify endpoint lookups"
Merge "Use platform_family instead of platform"
Add python-openstackclient package support

Add new client recipe for new common client package.
As more new features are only supported via this new python client, we
need to have a way to deploy it and Common seems like the right place.
There is another blueprint for moving the openrc from Compute to Common
that is related to this.

Change-Id: I8ab56b375b28c979021f3c5bc81e364f1cc65226
Implements: blueprint openstack-client
Add new cli method

Add new method for calling openstack clis
Add new method for getting uuid via cli
These methods are based upon the identity register provider ones
Add tests
Related change in network: I89dd47c802a544bdd998059b36884cb10f628223

Change-Id: I2b2f1d94dbd67550ad3a352c2205a532173f6065
Implements: blueprint neutron-icehouse-default-changes
Make PKI the new deault token provider

The default token provider in keystone is PKI. This patch makes PKI the
default instea of UUID.

Change-Id: Ic17c572f7aa67f88b8f6f2ed31968d043f1abb73
Closes-Bug: #1312927