Use Addressable gem to handle URIs

This would cover #173 
It adds support for Asian URLs.
When I changed the validation for the URI format to Addressable, I thought that the value should not be escaped (it was introduced to establish compatibility with Asian URIs by eca92afb219791b928426c95b2556693db82b879). The value either is parsable as URI as is or not and in the latter case no valid URI.
What do you think?
For the first comment: We "need" the escape call here, because only 'parse' won't raise the expected expception for line [278 in draft4-tests](https://github.com/hoxworth/json-schema/blob/master/test/test_jsonschema_draft4.rb#L278). I'd also suspect it to not be actually necessary.
```ruby
Addressable::URI.parse(data)
```
has the following output
```ruby
(byebug) Addressable::URI.parse(data)
Addressable::URI::InvalidURIError Exception: Cannot assemble URI string with ambiguous path: '::boo'
(byebug) Addressable::URI.parse(data).class
Addressable::URI
(byebug) Addressable::URI.parse(data).to_s
Addressable::URI::InvalidURIError Exception: Cannot assemble URI string with ambiguous path: '::boo'
nil
```
You see that there is an exception somewhere, at least the text, but its not thrown unless e.g. ```to_s``` is called. I should probably file an issue on this as I'd expect an exception to be thrown by parse right away.

I'll go for ```to_s``` for now.