add Utils.escape_uri

Implementation from WEBrick::HTTPUtils to match Utils.unescape_uri
Added test cases
Paths now encoded
use Utils.escape_uri/unescape_uri
Merge pull request #356 from burns/escape_uri

Ensure paths are URI encoded, without double encoding