Changed the default for window.location.port

Fixes #739
Added a test for window.location.hash === ""
Added time to the popstate event timeout

Apparently, node 0.8 mixes up thread execution order and sometimes the 0ms timeout isn't enough to catch the popstate event.  This caused ```npm test``` to fail.  Interestingly, it did not cause ```test/runner -s window/history.js``` to fail.  Its always scary when issues are not stateless...