Bug 572605 - Improve performance for name space wiring lookup

NamespaceList is introduced to index a flat list of elements which have
name spaces.  The NamespaceList assumes the element list is ordered such
that all elements with the same name space are order in one continuous
sequence.  Sublists of the original flat list are used to populate
a map indexed by the namespace.

NamespaceList is immutable.  Any updates require a copy of the full list
to be made and modified and then a new NamespaceList to be created.

Additional fixes are included to properly update the requirements and
capabilities for a host wiring when fragments are dynamically attached.

Change-Id: Iff2856fca7aaf5ab9fd1efe08b8778408860a146
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
Signed-off-by: Hannes Wellmann <wellmann.hannes1@gmx.net>
Reviewed-on: https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/178989
10 files changed