toomanydaves changed _applyState method to fully update location object

Hi,

Currently, only the `pathname` property is set on `window._location._url` when history changes state.

This can lead to inconsistencies in the state of the location url object. For example, if one went backwards from `/thisPage#thisHeading` to `/thatPage#thatHeading`, the location url would contain the pathname, "/thatPage#thatHeading", but its hash would still be "#thisHeading". 

I used node's `url` package (also used in the `/lib/browser/location.js` module) to reset the entire location url, thereby ensuring a consistent state while saving a couple lines of code in comparison to the original.

Hope you are pleased. 

Please, let me know if I can be of any further assistance.

Thanks for the great repository,
Sean