Encode sub delims in query parameters

W3C recommends that frameworks accept a semicolon as a separator in query parameters, as well as `&`. For interoperability with frameworks that follow this suggestion, Spray should percent-encode any semicolons here in URLs that it renders, as they are intended as literal characters (and not separators).

Tests ensure that `a -> b;c` is encoded as `a=b%3Bc`, so another framework will treat it as `a -> b;c` rather than `a -> b, c -> ''`.

(In this case, the other framework is Play, but it's not the only framework with that behaviour.)