Extract the check for case-insensitive-usernames into its own method in the User model. Also - add a test to check that it works.

Not completely sure that the test would be how you would do it... but it's passing!