Move update passphrase into a dedicated route

This makes adding generic update cleaner.
Refactor user controller tests for readability

Should make adding tests for new actions less cumbersome.
Users can change their own email (w confirmation)
Display unconfirmed email to user
Add cancel/retry for user email change
Update link text to user edit page
Fix flash name to one that's displayed
Give sensible feedback if same email entered
Merge pull request #49 from alphagov/self_service_email_change

Self service email change