LDAP: Improve username case sensitivity support (assist #4821).

See https://trac.openmicroscopy.org.uk/ome/ticket/4821.
This is an initial attempt at allowing clients to use a mixed-case username when logging in (this includes CLI, Web and Insight). The changes started off as LDAP-only, but due to the tight coupling between the classes taking part in the user authentication process, the commits had to cover all scenarios (LDAP and non-LDAP).

__Warning!__
This PR will require the sysadmin to manually lower-case all usernames before setting `omero.security.ignore_case` to `true`. This PR doesn't handle experimenter login clashes during such a case.
This PR also doesn't solve the `omero.ldap.user_lookup_attributes` requirement, which could come in a subsequent PR.

To test:
- use a server that has LDAP enabled and some non-LDAP users too,
- set `omero.security.ignore_case` to `true` and update all entries in the _experimenter_ table (_omename_ column) so that they are lower-case, e.g.
```SQL
BEGIN;
update experimenter set omename = lower(omename);
COMMIT;
```
- restart the server,
- try logging in with mixed case login names (e.g. `uSeR-1`, `rOOt`). Logins should work as before.
not sure  why this bean is more indented