Multiple changes:

- opts.links & opts.routeFromLink;
- opts.routePrefix;
- Application.initialize should just resolve self, not return a promise();
- pushTo & replaceTo now return promises;
- Application is now singleton.