Add support for passing parameters to provider through hash along with existing hash

This makes easyXDM play nicely with an existing hash in the URL for a provider page.

I needed this to work, because I'm passing other parameters to JavaScript running on a cached page. The caching is affected by the query string, so I want all the parameters, including easyXDM's, to be passed through the hash.

However, currently it tacks on the original hash incorrectly, like this: `/?querystring#easyxdm#original`. This small change makes it behave the same as it does with the query string: `/?querystring#original&easyxdm` and detect whether to add a `&` or `#` after the original URL + original hash.

I added some tests, but there was no simple way to change the value of `useHash`, since it's effectively a global variable setup along with a socket. Please let me know if there's some way I should change this to work nicer with the other tests.