QueryMapper parses query strings including nested params

The QueryMapper in current release can not parse the query strings which includes nested and mixed hash and array, like `{"first" => [{"two" => [{"three" => "four"}, "five"]}]}`. The commit improves that.