OmniAuth: optional attribute mapping in strategies

OpenProject currently employs a fixed attribute mapping schema for
userdata extracted from OmniAuth::AuthHash.

For some strategies (e.g., LDAP), various attribute names are used to
determine user attributes. Thus, an override to the fixed mapping from
within a strategy is desirable.

This commit allows the attribute mapping hash to be merged with
attribute overrides from within an OmniAuth strategy.
Added spec for OmniAuth strategy attribute mapping
Merge pull request #2062 from oliverguenther/feature/omniauth_attribute_mapping

Allow attribute mapping through flexible strategy