Bug 180842 Config memory buffer size in data engine execution.
To tuning the performance, it is necessary for DtE to expose API for clients to config the size of memory it used to store the final result set. A new AppContext string, "org.eclipse.birt.data.cache.memory.size" is proposed. The new appcontext entry only accept positive integer as input, the unit of which would be MB.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/api/DataEngine.java
/**
	 * Provides the definition of a data set to Data Engine. A data set must be
	 * defined using this method prior to preparing any report query that uses such data set.
	 * <br>
	 * Data sets are uniquely identified name. If specified data set has already
	 * been defined, its definition will be updated with the content of the provided definition object.
	 */
	abstract public void defineDataSet( IBaseDataSetDesign dataSet ) 
			throws BirtException;
	
	/**
	 * This method will return NULL if the named data set is not cached. Otherwise, it
	 * will return an IResultMetaData instance which provides at least the ColumnName
	 * and ColumnType information for all cached columns.
	 * 
	 * Please note that the ParameterHint information will usually essential to the result of data set design is
	 * omitted for it has nothing to do with the metadata.
	 * @param dataSource
	 * @param dataSet
	 * @param parameterHints
	 * @return
	 * @throws BirtException
	 */
	abstract public IResultMetaData getCachedDataSetMetaData( IBaseDataSourceDesign dataSource,
                   IBaseDataSetDesign dataSet ) throws BirtException;
	
	/**
	 * If user wants to use the latest data from data set rather than local
	 * cache, user needs to call this clearCache method to delete the cache
	 * content from update local environment. After it is called, in the next