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/impl/QueryExecutor.java
private Scriptable queryScope;
	private boolean isPrepared = false;
	private boolean isExecuted = false;
	private Map queryAppContext;
	
	private int nestedLevel = 1;
	
	protected DataSourceRuntime dataSource;
	protected DataSetRuntime dataSet;
	protected IDataSource odiDataSource;
	protected IQuery odiQuery;
	
	protected IQueryService outerResults;
	private IResultIterator odiResult;
	private IExecutorHelper parentHelper;
	private DataEngineSession session;
	private List temporaryComputedColumns = new ArrayList( );
	private static Logger logger = Logger.getLogger( DataEngineImpl.class.getName( ) );
	/**
	 * @param sharedScope
	 * @param baseQueryDefn
	 * @param aggrTable
	 */
	QueryExecutor( Scriptable sharedScope, IBaseQueryDefinition baseQueryDefn,
			AggregateTable aggrTable, DataEngineSession session )
	{
		this.sharedScope = sharedScope;
		this.baseQueryDefn = baseQueryDefn;
		this.aggrTable = aggrTable;
		this.session = session;