add and use :merge permission on user

fixes CNVS-16480

A user has permission to merge any user for which he can manage at least
one pseudonym (doesn't need permission to manage all pseudonyms). To
merge two users, the acting user must have permission to merge each of
them.

test-plan:

 being able to merge two users entails being able to:

 - GET /users/:user1/admin_merge?pending_user_id=:user2
 - GET /users/:user1/admin_merge?new_user_id=:user2
 - POST /users/:user1/merge?new_user_id=:user2
 - PUT /api/v1/users/:user1/merge_into/:user2

 they should either all succeed or all fail

 * given
   - Sally who's an admin with the :manage_user_logins
     permission on one account (Account1) and a student on another
     account (Account2)
   - Sally2 who's a student in Account1, admin in Account2
   - Bob who's a student on both accounts
   - Bob2 who's a student in Account1, admin in Account2
   - Alice who's an admin on Account1 with greater permissions than
     Sally

 * Sally should:
   - not see "Merge with Another User" link at /users/:alice
   - see "Merge with Another User" link at /users/:sally
   - see "Merge with Another User" link at /users/:sally2
   - see "Merge with Another User" link at /users/:bob
   - see "Merge with Another User" link at /users/:bob2
   - not be able to merge herself with Alice
   - be able to merge herself with Sally2
   - be able to merge Bob with Bob2

 * Bob should:
   - not see "Merge with Another User" link at /users/:bob
   - not be able to merge himself with Bob2

Change-Id: I840077e80fbdb35ea5b9ef6c80d6af8e41e90ce9
Reviewed-on: https://gerrit.instructure.com/42775
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>