Use Addressable to parse URL

Moved from middleman/middleman-blog#209

I propose to use [Addressable](https://github.com/sporkmonger/addressable) to handle URLs instead of standard `URI` library. Since `Addressable` supports newer RFCs, it can handle non-ascii domain names and file names. If these names were passed to `URI`, it raises `URI::InvalidURIError`.

And URI's `escape`, `encode`, `unescape` and `decode` methods are already obsolete.

Downside of using `Addressable` is slow speed to parse URLs than `URI` library.

I appreciate your hard work to support unicode characters.