Always escape string passed to url helper.

Makes it clear that anything passed with the helper must not be percent encoded.

Fixes previous behavior which tricks people into believing passing non-percent-encoded will generate a proper percent-encoded path while in reality it won't ('%' isn't escaped).

The intention is nice but the heuristic is broken. As of current implementation, passing a string for `:id` or anything part of path requires either `id.gsub('%', '%25')` or `URI.encode(id)` otherwise the generated url might be broken.

I can think of three possible solutions:

1. this one
2. assume everything is percent-encoded
3. try decoding the string and encode if decoding fails

Sorry for reporting this at bad timing.

Current state:

```
irb(main):004:0> paste_id = "100% testing"
=> "100% testing"

# broken
irb(main):005:0> Rails.application.routes.url_helpers.paste_path(paste_id)
=> "/100%%20testing"

# slightly redundant encode here since the helper will do another encode
# (except the percent part, of course)
irb(main):006:0> Rails.application.routes.url_helpers.paste_path(URI.encode paste_id)
=> "/100%25%20testing"

# ugly, confusing thanks to seemingly random gsub
irb(main):007:0> Rails.application.routes.url_helpers.paste_path(paste_id.gsub '%', '%25')
=> "/100%25%20testing"
```