Optimize ->query_parameters

* Old code used build an URI object (twice!), but for query parameter
  parsing, this is unnecessary
* Stole code from URI::_query, directly created Hash::MultiValue
* While we're at it, short-circuit the method by checking for cached
  instance before doing any parsing
* This patch should make query parameter parsing about 5~10 times faster
remove unnecessary ||= and replace with =
Merge #384
Cleanup request query caching #384