A fix for issue #5775

The fix:

1. In navigator, we preventDefault() on the initial popstate.
2. In jquery.mobile.navigation we do not call _handleHashChange if the originalEvent for "navigate" has .isDefaultPrevented()
3. In testHelper's navReset method, unset the navigator's ignoreInitialHashChange flag, because webkit consolidates the popstate resulting from setting location.hash inside navReset with the initial popstate event it fires.

This should unify the startup event sequence between FF and Webkit. That is, in webkit we no longer have a superfluous call to changePage resulting in 3 pagebeforechange events being fired on initial page load.

@johnbender Could you please review this when you get a chance? TIA!