Fix issue where Router throws when calling `replace()` and not `html5`

Fixes #739
Actually fix the Router#replace() issue in all browsers, including IE

This also makes the test more robust too.
Update Router's change history
Merge pull request #766 from ericf/router-replace-non-html5

Fix issue where Router throws when calling `replace()` and not `html5`