Match valid login domains with regular expression

- MOJ have a requirement to allow login from a
wide range of domains. Regular expression matchers
will simplify the management of these domains and
should also accept the current string matchers,
Tighten up email address matching

- refactored the EmailAddress class to accept an optional argument
  defining the valid_login_domains. This facilitates testing. If
  unspecified it falls back on the value defined in the rails config
- when using strings to define matching domains, don't process them as
  regexps.
- when using strings, the whole domain should match (not a substring)
- when using regexps, perform a regexp match
Correction of regex example
Updating README to illustrate \Z line ending in regex
Rubocop-rspec does not like 'should'
Removing duplicate test

- this is already in "only matches the whole domain"
Cleaning up email_address specs
Merge pull request #17 from ministryofjustice/valid-login-domains

Match valid login domains with regular expression