Don't skip validation

We now support external URLs, so we should be validating them.
Clarify grouping of clauses in validation

This grouping of parentheses makes it more clear what the logic is:

1. If it's an absolute URL, don't validate it
2. If it's not, make sure it doesn't contain '//' or end with a '/'

There's probably a further refactoring to be done here to join up
`valid_local_path?` a bit more, but I just wanted a bit more clarity here.