add and use :create permission on pseudonym

fixes CNVS-16476

instead of using the buggy :manage_logins permission on user, make it
more appropriate to the specific account and obvious what's being
checked.

Sally can create a pseudonym for Bob on account XYZ only if Sally has
admin rights on XYZ (:manage_user_logins in particular), Sally's
permissions on XYZ are a superset of Bob's existing permissions on XYZ
(if any), and Sally can already see Bob on some account.

test-plan:

 being able to create a pseudonym on an account entails being able to
 POST to /users/:user/pseudonyms?pseudonym[account_id]=:account

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

 * Sally should:
   - see the "Add Login" link for Account1 at /users/:sally
   - not see the "Add Login" link for Account2 at /users/:sally
   - see the "Add Login" link for Account1 at /users/:bob
   - not see an entry for Account2 at /users/:bob
   - not see the "Add Login" link for Alice at /users/:alice
   - be able create a pseudonym for herself on Account1
   - not be able create a pseudonym for herself on Account2
   - be able create a pseudonym for Bob on Account1
   - not be able create a pseudonym for Bob on Account2
   - not be able create a pseudonym for Charlie on Account1
   - not be able create a pseudonym for Alice on Account1

Change-Id: I5e1e02b6a55a82d8ed1916abccbf545e2f24c2f7
Reviewed-on: https://gerrit.instructure.com/42771
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>