fix($location): parse query parameters which precede hash in hashbang mode

This fix causes LocationHashbangUrl#$$rewrite() to move a pre-hash query string
to after the hash.

This, in turn, causes urlResolve() to correctly parse the query string, and
report the correct dictionary.

BREAKING CHANGE

Previously, LocationHashbangUrl would keep query parameters from the initial URL
preceeding a hash symbol as part of the application base url. This is no longer
the case, as it is desirable to parse these as part of the search query.

To migrate, one should create special urls rather than relying on query string,

for instance, if a base url was previously "http://server.com/base?ie=true", it
would be adviseable to instead use "http://server.com/base/ie" as the base url.

Closes #7239