Mask codename

Fixes #525

Allow sources the option to log in with a new route, login_masked, which does not reveal their codename as they are typing it in.

Masks the codename on the submission page, revealing it with text select.
Unless the "why" is clear, this is unnecessary complexity for the user. We should either pick one or the other, or offer the masked login with a clear explanation of why it might be useful.