Proposal for a set of changes that make the Sisu Extender more reusable.

As discussed with Stuart McCulloch on the sisu-users mailing list, here
is a proposal for a set of changes that make the Sisu Extender
classes more re-usable, thus simplifying the task of of implementing a
custom Sisu Extender.

Originally, all the Sisu Extender behaviour was implemented inside the
SisuActivator class. The activator class contained a number of inner
classes and implemented directly the ServiceTrackerCustomizer and
BundleTrackerCustomizer interfaces. Most classes made explicit
references to DefaultBeanLocator.

Now the ServiceTrackerCustomizer, BundleTrackerCustomizer and all the
inner classes have been made top-level classes. They require a
MutableBeanLocator instead of the DefaultBeanLocator. All classes have
been moved to the org.eclipse.sisu bundle into the
org.eclipse.sisu.osgi.extender package while the extender bundle now
contains only a very small SisuActivator.

For further details about the changes please have a look at the
org.eclipse.sisu.osgi.extender package Javadoc.

Notable changes:
 - Provider<Injector> is now replaced by BindingPublisher
 - Because of the above, the deprecated method on DefaultBeanLocator
   are no more used
 - To identify an extendable bundle, the extender uses a pluggable
   strategy, see BundleSelector
 - BundleProperties has been dropped in favour of System.getProperties()
 - selectScanning() has been moved from Main to BeanScanning

Finally, let me add that the code was tested only interactively
integrated in a sample application, but it does not yet include any
specific test case for the extender.

Also-by: Stuart McCulloch <mcculls@gmail.com>
Change-Id: I7f858d857b48360eacbb409e884d9c0f87347735
Signed-off-by: GianMaria Romanato <gian.maria.romanato@finantix.com>
Bug 416557: clean-up BeanScanning.select utility method
Clean-up manifests
Eclipse->Source->CleanUp
Apply fix copyrights