Bug 200471 Add "need not sort for grouping" option in report item
Currently when Data engine proceeds groups, it always sorts the result set according to given group key.However that should not be necessary when the raw data is already sorted. So we'd like to add new options so that user can indicate whether should we sort the data before grouping. In model, we should allow user to set a "need not do sort for grouping" option to all the report element that can be grouped(table, list,etc.)
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/writer/ModuleWriter.java
writeStructureList( obj, IDataSetModel.PARAMETERS_PROP );
		writeStructureList( obj, IDataSetModel.RESULT_SET_PROP );
		if ( (String) obj.getLocalProperty( getModule( ),
				IOdaDataSetModel.QUERY_TEXT_PROP ) != null )
		{
			property( obj, IOdaDataSetModel.QUERY_TEXT_PROP );
		}
		property( obj, IOdaDataSetModel.RESULT_SET_NAME_PROP );
		writeOdaDesignerState( obj, IOdaDataSetModel.DESIGNER_STATE_PROP );
		propertyCDATA( obj, IOdaDataSetModel.DESIGNER_VALUES_PROP );
		List properties = (List) obj.getLocalProperty( getModule( ),
				IOdaDataSetModel.PRIVATE_DRIVER_PROPERTIES_PROP );
		writeExtendedProperties( properties,
				IOdaDataSetModel.PRIVATE_DRIVER_PROPERTIES_PROP );
		writeOdaExtensionProperties( obj,
				IOdaExtendableElementModel.EXTENSION_ID_PROP );
		writer.endElement( );
	}
	/**
	 * Writes the columns slot of <code>GridItem</code> and
	 * <code>TableItem</code>.
	 * 
	 * @param obj
	 *            the grid item or table item
	 * @param slot
	 *            the columns slot
	 */
	private void writeColumns( DesignElement obj, int slot )
	{
		assert obj instanceof GridItem || obj instanceof TableItem;