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!
While the ```required``` attribute really protects against the large majority of the cases for this bug, I think the python code simply adds better logs for the error in the other cases, which should result in less confusing logs.  Previously, this would have shown up as an SMTP error because nothing checks the value until it hits the email client.  The only time this error should be thrown now are for old browsers, not sure if investing in the messages framework is worth it for that amount of traffic for someone who forgets to add a value to the form's only input.  
At any rate, I think this commit is a good, if possibly incremental, improvement.