If you try to transform a Backbone class into an implicit factory (i.e. a class that acts as a factory even when used with `new`) you must have a reference to an object created by the default constructor. This patch makes Backbone to not to discard return value of default constructors. In addition to the scenario described above it also makes both code paths consistent with each other. This is a version of GH-1435 and GH-1429 (but with tests; not sure why all other PRs didn't have tests) and an inverse of GH-1382.
… root url for atRoot in History.start regardless of trailing slash
… changes include a slash between the root and route fragment when using pushState