deprecate access log middleware

Change-Id: I1e2e477e39720ff6657c2e75c36bf59df1df8ded
Implements: bp deprecated-as-of-icehouse
Refactor mutable parameter handling

The use of _mutable_parameters in the federation controllers was confusing.
The mutable parameters were the same each time check_immutable_params was
called, so there was no reason to allow passing in the mutable parameters.

In FederationProvider the mutable parameters was copied for no reason.

Similarly, filter_params is always used with the default keys so there's
no need to allow passing in the keys, and safer to not allow it.

bp identity-providers

Change-Id: I333fb23420282be350330dcb265f54da0fceac21
Refactor federation controller class hierarchy

The FederationProtocol class should not be a subclass of
IdentityProvider, since that means that FederationProtocol will
provide methods like create_identity_provider, which is confusing.

Also, MappingController can use the new base class to share the
base_url calculation.

bp identity-providers

Change-Id: Id9d8b3f7f5990cad66518c9dc5067670cdb58030
Remove unnecessary test methods

These functions aren't needed because the default behavior is to
do the same thing.

bp identity-providers

Change-Id: Ifc066b519cd3564384a617f7ee4009b9fc97f37c
Federation IdentityProvider filter fields on update response

The Federation IdentityProvider was failing to filter the fields
when an update was done. This could lead to extra fields being
returned to the client that should not be returned.

bp identity-providers

Change-Id: Ie909e2b7b7eaf06c555b45daef7de4474aceba2e
Refactor Auth plugin configuration options

The auth plugin configuration can now either be specified by the
[auth] methods and [auth] <method name> options or as a class-name
as part of the [auth] methods option (e.g.
keystone.auth.plugins.password.Password). Both styles of auth
method specification can be used at the same time.  No two auth
plugins may register for the same auth method.

Each auth plugin must now define a 'method' attribute that specifies
the auth method it is registering for.

Tests have been modified to use a unified "method" name, this ensures
we are testing the appropriate code paths for auth methods rather than
relying on strings matching in all cases going forward.

Co-Authored-By: Brant Knudson <bknudson@us.ibm.com>
bp: keystone-parallel-testing
Change-Id: Icbb1d63d36726b8dbf7dfd8c6353fa30bbe490de
Merge "Refactor Auth plugin configuration options"
Merge "Refactor mutable parameter handling"
Merge "Refactor federation controller class hierarchy"
Merge "Remove unnecessary test methods"
Merge "Federation IdentityProvider filter fields on update response"
Merge "deprecate access log middleware"