Bug 184411 Enhance CubeCursor cache performance.
Performance is critical in CubeCursor cache(especially in report document).However in CachedAggregationResultSet the aggregationResultRow is load from input stream at the very time the instance is initialize. This defeat the purpose to save it to report document, which target to achieve high performance in page progressive viewing. We should populate the value based on the input stream in case of necessary.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/data/impl/CachedAggregationResultSet.java
* (non-Javadoc)
	 * @see org.eclipse.birt.data.olap.data.api.IAggregationResultSet#getLevelKeyIndex(java.lang.String, java.lang.String)
	 */
	public int getLevelKeyIndex( String levelName, String keyName )
	{
		if ( keyNames == null )
		{
			return -1;
		}
		return getLevelKeyIndex( getLevelIndex( levelName ), keyName );
	}
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.birt.data.olap.data.api.IAggregationResultSet#getLevelKeyValue(int)
	 */
	public Object[] getLevelKeyValue( int levelIndex )
	{
		if ( resultObject.getLevelMembers( ) == null
				|| levelIndex < 0
				|| levelIndex > resultObject.getLevelMembers( ).length - 1 )
		{
			return null;
		}
		return resultObject.getLevelMembers()[levelIndex].getKeyValues();
	}
	/*
	 * (non-Javadoc)
	 * @see org.eclipse.birt.data.olap.data.api.IAggregationResultSet#getSortType(int)
	 */
	public int getSortType( int levelIndex )