Split functions

Move shared and non-DevStack-specific functions to `functions-common`.  This is
a code move only with some updated comments.  The functions are now
sorted alphabetically within function groups, eg. all git-related functions
are grouped together.  The groups are listed at the top of the file.

'functions' sources 'functions-common' so no additional changes are required
for backward-compatability.

All functions shared with Grenade have also been moved.

functions-common was created from commit e0ed8ea038299952826b27a16753775472f108d8

Change-Id: I73bf7134fd6a60ec1ea44a5bfab08b0569b60ded
Backport Grenade updates

Backport changes made in Grenade's copy of functions since the last sync:
* d0654b9,i 4c7726e - get_release_name_from_branch()
* 7907766 - edits to install_package()

Change-Id: I0714c0b1072f1360c3c08fe24225e65e2a550fad
Allow setting Keystone API version in service catalog

This is the first step toward removing the Identity API version from the
Service Catalog, by setting IDENTITY_API_VERSION="" in local.conf
no version is added to the Identity Service Catalog URLs.

This _will_ break the current clients but is useful for testing
API version discovery.

Change-Id: I4870cddcb75488b3b6837a15b063aa69cdcc1444
Merge branch 'marconi-fixes' into dt-test
Merge branch 'identity-api-version' into dt-test