Query string value lists are serialized as duplicates

In order to use a duplicate aggregator for all services, I've overridden `createRequest` in AbstractClient (used by all clients). This really only affects restful services that binds lists to query strings. This change does not affect query services as those use the customized `aws.query` location. Signers also do not duplicate header values so they are unaffected. We also already sort multiple query string list values so there was no need to change the signer.

Integration tests and unit tests pass.