Fixing the binding order problem. My strategy was to break binding creation into two steps:
 - creating the binding itself
 - "initializing" the binding, ie. validating the bindings dependencies

This CL is a start of something that we could go further on. In particular, we could change the @ProvidedBy etc. bindings to use a BindingImpl.initialize() method uniformly to separate creating the binding from building its dependencies.

git-svn-id: d779f126-a31b-0410-b53b-1d3aecad763e
4 files changed