Grand unification of commands and SPI:
 - Command is now Element
 - Binding is an Element
 - Message is an Element
 - All other commands are Elements
 - CommandRecorder is now Elements.getElements(Module)

All the Binding subinterfaces are now just visitor targets in Binding.TargetVisitor.

An old copy of the SPI is available in 'spi.oldversion'. This will be removed soon! But it should make migration possible.

An old copy of Commands is not available in this commit. I'm going to add that back in, to make it migration possible.

Still outstanding:
 - Restore a copy of commands to ease migration. This will get killed before 2.0.
 - Kill the oldversion SPI before 2.0
 - Thorough Javadoc
 - Merge BindConstant and Binding
 - Integrate InjectionPoints with Binding

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