Login with basic validation

Added login capabilities
Added very basic form validation ( fields are not empty ), to prevent unnecessary calls to DB.


<!---
@huboard:{"order":8.0,"milestone_order":27.0,"custom_state":""}
-->

This was a todo considering an error is different from a refused login, if we decide that it is. We could simply treat it the same as entering bad information.