Fix issue Felix-853.
iPOJO has a new service object creation strategy allowing creating an object per asking instance. Moreover, new strategies can be created (by implementing CreationStrategy).
The 'factory' attribute of the 'provides' becomes 'strategy' which makes more sense. 

Commit the creation strategy test suite.

Improve the efficiency of Properties and Callbacks.

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@728056 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/ipojo/core/src/main/resources/core.xsd b/ipojo/core/src/main/resources/core.xsd
index 4584e26..9bb7014 100644
--- a/ipojo/core/src/main/resources/core.xsd
+++ b/ipojo/core/src/main/resources/core.xsd
@@ -309,7 +309,7 @@
 		</xs:attribute>
 	</xs:complexType>
 	<xs:element name="provides" type="ProvidesType" id="provides"></xs:element>
-	<xs:complexType name="ProvidesType">
+		<xs:complexType name="ProvidesType">
         <xs:annotation>
         	<xs:documentation>Provided service(s) description.</xs:documentation>
         </xs:annotation>
@@ -323,9 +323,14 @@
 			<xs:annotation>
 				<xs:documentation>The list of interfaces of the service to expose. By default, all interfaces implemented by the component implementation class are published.</xs:documentation>
 			</xs:annotation></xs:attribute>
-		<xs:attribute name="factory" type="xs:string" use="optional">
+		<xs:attribute name="factory" type="xs:string" use="prohibited">
 			<xs:annotation>
-				<xs:documentation>POJO factory policy. By default, the POJO object is created once (singleton). If the factory is set to "SERVICE", the creation policy follows the OSGi service factory policy (one object object per asking bundle).</xs:documentation>
+				<xs:documentation>Use 'strategy' instead of 'factory'</xs:documentation>
+			</xs:annotation></xs:attribute>
+		<xs:attribute name="strategy" type="xs:string" use="optional">
+			<xs:annotation>
+				<xs:documentation>POJO creation strategy. By default, the POJO object is created once (singleton). If the factory is set to "SERVICE", the creation policy follows the OSGi service factory policy (one object object per asking bundle).
+				INSTANCE allows creating one different POJO object per asking instance. Finally, a custom strategy can be used by specifying the qualified name of the class extending CreationPolicy</xs:documentation>
 			</xs:annotation></xs:attribute>
 	</xs:complexType>
 	<xs:complexType name="PropertyType">