Ability to specify query as a hash which would be matched to a query string regardless of order

A proposed solution to the debate whether query strings should be compared by order or not.

If a query expectation is defined in the interaction as a string:

    query: 'foo=bar&bar=foo' 

The current behaviour remains.

If a query string expectation is defined as a hash:

    query: {foo: 'bar', bar: 'foo'}

The actual query (always a string) would be compared regardless of order (by parsing the query to a hash).

Backward compatible --- check!

Happy to discuss implementation.