escaping improvements

This improves the escaping in AWS-S3.  The main feature we needed was the ability to send response headers we want through an S3 URLs query parameters.

```ruby
    AWS::S3::S3Object.url_for path, mah_bucket,
      :query => {
        "response-content-disposition" => "attachment; filename=#{name}"},
      :expires => 1.minutes.from_now.to_i
```

We've been running this on GitHub.com for months now without issues.