Ensure username passed by REMOTE_USER can contain '@'

The external authentication support allows the domain to be passed
as part of the REMOTE_USER name, by using the '@' as a delineator,
but did not handle the case when the actual username itself also
contained the '@' character.

Fixes bug 1213842

Change-Id: Idffa42fe9c70818c71379669dfcd17d3113738a3
Merge "Ensure username passed by REMOTE_USER can contain '@'"