Fix #12597: Update the exception handling in "login".

This PR tries to make the exception handling in sessions.py/login more user-friendly. See https://trac.openmicroscopy.org.uk/ome/ticket/12597 and https://www.openmicroscopy.org/community/viewtopic.php?f=4&t=7656.

To test (`jdoe` must not exist in the OMERO DB):
- execute `omero login -s localhost -u jdoe --sudo=root` and verify that the error message makes sense.

/cc @joshmoore