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
Merge "Refactor federation controller class hierarchy"
Merge "Remove unnecessary test methods"
Merge "Federation IdentityProvider filter fields on update response"