Registration validation

Port across user model validations from public webiste
I wanted `expect(page).to have_content('Email has already been taken')`

but waiting for https://github.com/moneyadviceservice/dough/pull/142