TypeScript: expose durandal/system and durandal/viewEngine in module

Fix the route?: string; in route?: any (prevent the use of ['', 'dashboard'] in the shell route definition)
Fix the routeHandler not being set as optional in DurandalHistoryOptions
Cleanup indentation

See https://github.com/BlueSpire/Durandal/pull/421 I can't switch the old pull request branch.