Pass thru credentials to allow re-authentication

This is a backport of 4 fixes squashed into one because:

1. They need to all be merged together as they build on each
   other as problems were found in each change after it was
   merged on master.
2. The 3rd change won't pass Jenkins on it's own so it has
   to be squashed with the 4th and final change, so I'm just
   going to squash the entire topic branch together.

The change bugs fixed and cherry pick commit hashes are left
intact for each change.

Closes-Bug: #1241275
(cherry picked from commit 51e5f52e4cb60e266ccde71f205c91eb8c97b48b)

Cache Neutron Client for Admin Scenarios

Closes-Bug: #1250580
(cherry picked from commit 85332012dede96fa6729026c2a90594ea0502ac5)

Users with admin role in Nova should not re-auth with Neutron

Closes-Bug: 1250763
(cherry picked from commit 1c1371c78b990447aeaa4377b512f8887e6ff3ce)

Fix Neutron Authentication for Metadata Service

Closes-Bug:  1255577
(cherry picked from commit 652620d12f3afe6845e41d9762b52d23f44fd557)

============

Change-Id: I2858562b180f3e058a2da9d67bef02af80927177
Merge "Pass thru credentials to allow re-authentication" into stable/havana