Make the redirector build fail if any hosts are uppercase
Condense unique and lowercase checks into one

- This is so we don't iterate over all the hosts twice as this would
  cause the build to slow down.
Centralise `require`s in `lib/redirector`

* Make `test_helper` require that and any minitest dependencies
* To fix an environment-sensitive require order build failure
Rename the host validation rake task and methods to just be `validates`
Use the positive `uppercase.any?` instead of negative `.empty?`

- This makes it more readable.
- Also rename `uppercase` to `has_uppercase` - otherwise it sounds like
  a true/false value.
- Use `Set.new` instead of defining a hash for `has_uppercase` -
  slightly shorter and we weren't using the right hand side of the hash.
Merge pull request #1006 from alphagov/build_fails_if_uppercase_host

Make the redirector build fail if any hosts contain uppercase characters