Decode path info

before this change a path_info fragment would enter a resource
as an encoded value:

{
  :fragment => 'hello%20world'
}

I would expect to receive the value differently:
{
  :fragment => 'hello world'
}
this is from a different pull request. the tests don't run on Windows7 without it, so I couldn't make this change without this commit. I will rebase and remove it from this PR.