url_validator raises InvalidUrl error when nil is given

This fixes "cryptic" errors that we were getting from Airbrake. If
anything goes wrong with #heuristic_parse it's perfectly fine to raise
InvalidUrl error and handle it.

```
Addressable::URI.heuristic_parse(nil) #=> nil
nil.path #=> NoMethodError
```
Merge pull request #814 from lonelyplanet/url_validator_fix

url_validator raises InvalidUrl error when nil is given