Optional param replaceRoute added to mapUnknownRoutes...

...this allows the developer to easily specify a module *and* a route to
replace the url with when an unknown route is encountered.
Ensuring no bom on dist lib.
Better error messages for script load failures.

This is related to durandal's own internal use of system.acquire, which
it now has proper fail handlers for throughout.
BREAKING CHANGE viewModelBinder renamed to binder.

-Some improvements to api docs added.
Accounting for IE10 bug in log.error.
Fixes to error reporting throughout.
Fixed bug in observable dependencies.
Fixing a promise issue.

The last issue related to returning multiple values from a promise. Not
all promise implementation support this, so the activator had to be
changed to store lifecycleData on the settings object for
canActivate/canDeactivate calls that return instruction objects to be
interpreted by the specific activator.
Intercepting a tags when push state is active.