customizable LDAP attribute mapping

As per #3022 I'm trying to add procs to the gitlab configuration that adjust how LDAP attributes are mapped to users. There are two implementations and pull requests because I'm unsure which is better and I should go down the route of writing tests for. The other implementation is #3647.

This is the simpler implementation of the two where I was trying to alter the code as little as possible.

/cc @senny