Case free usernames

This is to address issue #99.

We now use case-free usernames on both the central server and distributed servers.  However, to maintain back-compatibility, all checks and login attempts:
* First try with the lowercase version.
* If that fails, fall back to the mixed case version.

This allows:
* Both cases to work
* The user experience to always see what they entered (not an L-cased version), in case validation fails

I've tested this branch on registration and login for central and distributed servers.