Restricts the roles, access levels and access durations for an admin users based on their admin role/access level

Description
-----------

Restricts the roles, access levels and access durations for an admin users based on their admin role/access level

Impacts
-------
These affect user creation in the Admin GUI.

Delete branch after merge
-------------------------
NO

I'd propose you create tests for the new actions you created (set access duration, set role).

I would make sense to have those in here too since they're what led to this feature and PR