Makes the signup process a bit more robust for users not using Chrome.
Includes more client side validation
Parses server returned error.
Input date fallback for devices that don't support html5 input date. - can/should be a progressive thing (where we can keep adding to it - for now it will at least allow users to sign up).