Query with parameters in Hash format

There is a working implementation of HashQuery. A user can now also provide the query of a request as a Hash. When provided as a Hash, query matching will happen on the data provided (missing or extra parameters will trigger a reject), however order of parameter passed will not matter. 

I've added a number of tests (include a few in main pact)

I've left some questions in the code for your feedback. 

Thanks
André