[BUGFIX beta] Ensure that the rootURL is available to location.

The refactoring in #3752 caused the rootURL to not be passed at
initialization time to the location implementation. This change reverses
that by injecting the `router:main` into the newly created location
instance.

The tests were also refactored:

* Split HistoryLocation tests out from the router basic tests.
* Ensure that we are testing the right thing in router tests (ensuring
  that the rootURL is available to the location implementation).
* Fixed issue with existing rootURL check that made the test pass
  due to the fact that the default rootURL (`/`) just happens to be the
  rootURL while running the test via `rackup`.

Resolves: https://github.com/emberjs/ember-dev/issues/115
Merge pull request #3915 from rjackson/fix_history_state_root_url

[BUGFIX beta] Ensure that the rootURL is available to location.