Add Validation to Forgot Username

Added a ```required``` HTML5 attribute to prevent submitting an empty username
and we throw an appropriate error if a blank username is sent to the
server. Fixes #1374!
If I understand correctly, this will return a 400 and thus render a crash page, which is essentially the same as it currently does. For more critical forms, the correct approach is to re-render the same page with validation errors presented in the UI, but building that out probably isn't terribly useful. Still, I'm questioning whether adding these lines of code really improve the user experience, they seem only to benefit developers, who will probably immediately spot that the problem is that this single field is blank. The only tangible benefit I can see is demoting a 500 class error to a 400. Maybe that's worth it.

I think, on the other hand, that adding the HTML5 `required` attribute above is a clear win, and something we can benefit from doing in more places. You get clear client-side validation almost for free.