Re-worked query parameter matching to support multi-valued params and fixed a related bug causing IllegalArgumentExceptions to be thrown when query param values contain =