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
* 
	 * Negative integer: Enable data set cache. The row limit will not be set and all data set rows are fetched.
	 * 
	 * Positive integer: Enable data set cache. This row limit will be used for ALL
     * data sets, regardless of settings on individual data set designs.
     * 
     * Zero:Disable data set cache regardless of report design settings and
	 * DataEngineContext settings. 
	 */
	public static String DATA_SET_CACHE_ROW_LIMIT = "org.eclipse.birt.data.cache.RowLimit";
	public static String DATA_SET_CACHE_DELTA_FILE = "org.eclipse.birt.data.cache.DeltaFile";
	
	/**
	 * Indicates whether memory data set cache function need to be used:
	 * 
	 * Positive integer: Enable memory data set cache. This row limit will be used for ALL
     * data sets, regardless of settings on individual data set designs.
     * 
     * Zero:Disable memory data set cache regardless of report design settings and
	 * DataEngineContext settings. 
	 */
	public static String MEMORY_DATA_SET_CACHE = "org.eclipse.birt.data.cache.memory";
	
	/**
	 * Creates a new instance of DataEngine, using the specified
	 * DataEngineContext as its running environment
	 * 
	 * @param context,
	 *            When this value is null, a default context will be used. The
	 *            default context is DataEngineContext.MODE_DIRECTPRESENT.