FELIX-4006 during disposal, make sure impl object is available for bind until edge info is set for unbind

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463766 13f79535-47bb-0310-9956-ffa450edef68
FELIX-4011 serviceFactoryCM can't expose a being-constructed object through getService, since getService is only called once per bundle.  Also fix a method name

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463767 13f79535-47bb-0310-9956-ffa450edef68
FELIX-4011 move edge info tracking to component context

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463768 13f79535-47bb-0310-9956-ffa450edef68
FELIX-4011 use a final ComponentContext since it now has useful state (later made non-final again) and make ComponentInstance a separate class

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463769 13f79535-47bb-0310-9956-ffa450edef68
FELIX-4011 genericize stuff, fix a bug in ReadOnlyDictionary

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463770 13f79535-47bb-0310-9956-ffa450edef68
FELIX-4011 put more stuff into ComponentContext, simplify

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463771 13f79535-47bb-0310-9956-ffa450edef68