Adding new PivotByDimension DataTable filter that can pivot a report by (almost) any dimension. The filter can pivot reports by their subtable dimension and can also pivot by other dimensions (by using segments).

Notes:

- in the UI, only pivoting by subtable is supported
- change to CSV DataTable renderer so column names w/ commas & quotes can appear in text
- change to XML DataTable renderer so column names w/ invalid XML characters can be rendered (bit of an iffy change, XML format needs an overhaul I think)
- includes new config option 'pivot_by_filter_enable_fetch_by_segment'
- includes additions to component metadata classes (ie, Report/Dimension)
Fixing build.
Fixing build.
Fix XML rendering regression.
Add public Report::isSubtableReport() method so it can be used in closure on PHP 5.3.
Make sure PivotByDimension respects original segment query parameter when fetching intersected tables by segment.
Fix another closure access error in PHP 5.3 for tests.
Cleaning up PivotByDimensionTest a bit.
Refs #6078, allow default column limit to be specified through INI config.
Refs #6078, add report metadata for Event subtable reports and make sure pivotBy works w/ Events plugins' secondaryDimension query parameter..
Refs #6078, remove pivotBy param when switching between related reports.
Refs #6078, allow plugins to set what metric gets displayed in pivot tables of specific reports and use in Events to display nb_events. Also do not set columns_to_display in Events plugin if table is pivoted.
call clearQueuedFilters()
Refs #6078, fix bug where reloading report does not persist pivot and where undoing a saved pivot does nothing.
Refs #6078, #5355 only display expand/contract tooltip if row has subtable.
Refs #6078, make sure cog icon is highlighted when table is pivotted.
Refs #6078, make pivot option use the pivot by dimension's name.
Refs #6078, do not pivot table when getting siteSummary data.
Refs #6078, change default maximum column limit to 10.
Refs #6078, order pivot table columns by sum, descending and aggregate cut-off columns into 'Others' column.