Fix Post#url and Page#url escape

# `Post#url` escape

`Post#url` was escaped using `CGI.escape`.
When file name contains a space character, its `url` points to
non-existing URL.

For example, when we have a post named `2013-01-02-foo bar.md`,
we expect its `url` to be `/2013/01/02/foo%20bar.html`,
but it was actually `/2013/01/02/foo+bar.html`.

We now use `URI.escape`.

# `Page#url` escape

`Post#url` wasn't escaped at all.

For example, when we have a page named `a#b.html`,
we expect its `url` to be `a%23b.html`,
but it was actually `a#b.html`.

We now use `URI.escape`.