Set pushState as default for history. Fixes #12

- Changed to `{pushState: true}` by default
- Removed all redundant `{pushState: true}` instances and added `{pushState: false}` where necessary
- Created `restartHistoryWithoutPushState` function to manage setting up test env. more easily
- Updated tests (there were plenty of changes – please verify)
- Unified code styling in tests
- Updated readme
- All tests pass