Overhauling user sign-up flow

Allowing users to restart sign-up, and go back in the process should they need to.
Fixes second item in #621
Adding 'go back/restart' buttons to sign-up forms
Tidying date entry inputs given extra space
Adding in option to allow deselection of ethnicity
Merge pull request #648 from andrewhayward/auth

Overhauling user sign-up flow