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
public void visitDimension( Dimension obj )
	{
		super.visitDimension( obj );
		property( obj, IDimensionModel.IS_TIME_TYPE_PROP );
		property( obj, IDimensionModel.DEFAULT_HIERARCHY_PROP );
		writeContents( obj, IDimensionModel.HIERARCHIES_PROP );
		writeOverridenPropertyValues( obj );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.model.elements.ElementVisitor#visitHierarchy(org.eclipse.birt.report.model.elements.olap.Hierarchy)
	 */
	public void visitHierarchy( Hierarchy obj )
	{
		super.visitHierarchy( obj );
		writeStructureList( obj, ICubeModel.FILTER_PROP );
		writeContents( obj, IHierarchyModel.LEVELS_PROP );
		writeContents( obj, ICubeModel.ACCESS_CONTROLS_PROP );
		writeOverridenPropertyValues( obj );
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.birt.report.model.elements.ElementVisitor#visitLevel(org.eclipse.birt.report.model.elements.olap.Level)
	 */
	public void visitLevel( Level obj )
	{
		super.visitLevel( obj );
		property( obj, ILevelModel.DATA_TYPE_PROP );