CloudFront invalidations do not work for paths with query strings due to incorrect escaping. Proposed fix.

Hi!

CloudFront invalidations are broken for paths that include query string parameters. We should not be url escaping but rather XML escaping:

Instead of this:
    /page.html%3Fsection%3Done%26subSubsection%3Dtwo
we should send:
    /page.html?section=one&amp;subSubsection=two

Could not figure out how to write any unit test for this, nor can I find any unit tests for CloudFront.

Happy to disccus this change.
/JT