Add superuser role

Signon models everyone as "admin" or non-admin. If we want someone to be able to create users, they also get the ability to make/unmake anyone as Signon admins, as well as editing (OAuth) applications.

This isn't ideal for us as an organisation, and is going to get worse as time goes on. Really, there should be a tier of people - "superusers" - who can create admins and view/edit OAuth credentials (probably SC cleared). There should be another tier - "admins" - who aren't necessarily SC cleared but can still admin users.

This pull request implements what I've described. There are three roles: "Normal", "Admin" and "Superuser". 

When we deploy this, we should create the superusers. Probably these should be SC cleared devs, web-ops, and GOV.UK ops people like Albert Massa.

I've done this partly to scratch my own itch. This should probably be seen by @jystewart before merging.