There are a ton of renditions on the theme of lazy loading that involve using requirejs and hanging on to config-time providers in order to sneak late-registration of components into a running angular app.
There are various documents linked from that one in various stages of development, some already outdated, however you can find the meeting notes document to keep track of the team if you really want to keep your finger on the pulse. Of course there are also links to the code for Angular 2.0 in github as it evolves.
All that said, basically the future is ES6 modules which are due to support asynchronous loading much as requirejs does today, but with the ES6 module syntactic sugar to make it much more straightforward. As far as I know dependency injection in 2.0 will be capable of accessing modules that are defined at runtime -- in fact, there will be no distinction between runtime and config time, so lazy loading should flow from that feature.
As to a timeline, your guess is as good as mine :)
If I'm misstating anything here I hope someone will correct me! It's tough to keep up with the Angular team despite their openness -- they move quickly! :)