Redirect after group editing.
Split out the "groups" defined in code.

- Rename those as permits, and permits have to be assigned to the groups
  for the actual permissions to be granted.
- This allows developers to "group" a set of related functions under a
  single set of common access rights, and allow the integrators/managers
  to define what the names are and which of those sets of views are to
  be made available under their defined groups.
Admin group no longer always guaranteed to exist

- Now only provided if and only if the setup_user is defined as it is no
  longer needed as downstream integrators can create custom groups that
  will provide the admin permit for the access to the administrative
  functions.
Ensure the permits also added to the admin group.

- Also changed how the permits are returned (as a set object).
Complete the core implementation

- Removed the deprecated fallback for testing.
Change the front-end checks to rely on the permits
More comprehensive user permit test cases.
Forgot to close a tag

:cripes:
Require permits everywhere applicable.

- Allow configuration to completely ignore that requirement.
Another redirect to fix on submission.
Group editing.

- Also edit the permits.
Use the safer get methods for request.form access
Group adding form.