Bug 213126 Add support for DataEngine-leve dataset cache
In many cases the DataEngine-leve dataset cache is useful which ensure that a dataset is executed one time during rendering one report. To support this feature a new dataset property should be added. The Birt customer can choose whether this dataset need to be cached or not by setting the property in deisgn time.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/writer/ModuleWriter.java
* @param cdata
	 *            whether the value should be written as CDATA
	 * @param withoutName
	 *            whether the property name should be written
	 */
	protected void writeProperty( IStructure struct, String tag,
			String memberName, boolean cdata, boolean withoutName )
	{
		StructureDefn structDefn = (StructureDefn) struct.getDefn( );
		assert structDefn != null;
		StructPropertyDefn propDefn = (StructPropertyDefn) structDefn
				.getMember( memberName );
		assert propDefn != null;
		Object value = null;
		if ( struct instanceof Structure )
			value = ( (Structure) struct ).getLocalProperty( getModule( ),
					propDefn );
		else
		{
			assert struct instanceof UserPropertyDefn;
			value = ( (UserPropertyDefn) struct ).getLocalProperty(
					getModule( ), propDefn );
		}
		if ( value == null )
			return;
		String xml = propDefn.getXmlValue( getModule( ), value );
		if ( xml == null )
			return;
		if ( tag == null )
			tag = ModelUtil.getTagByPropertyType( propDefn );