* [Dashboards/Pie Charts/Subtotals] Subtotal widgets on dashboards can now be configured to display their values as a pie chart instead of a frequency table.  There are default wedge colors for up to 20 values, and they've been selected for clean visual separation as well as aesthetics.  While following a rainbow pattern, the colors begin at green rather than red, ensuring the largest wedges are one of the green-blue-violet spectrum subdued colors instead of an alarming large red block on a dashboard. A list of subtotal values is displayed below the chart.  The pie charts also have mouse interaction.  Hovering over a wedge will render a slightly transparent bumper at the edge, and it will display a highlighter style on the appropriate subtotal; making it very easy to identify which value is associated with the selected pie wedge.

* [Dashboards/Subtotals] Subtotal widgets can now limit their results to the top 3-20 subtotal categories.  This is useful when you want to build a 'Top 10' list, even though there may be extra results.
Merge branch '6.1.2' into 6.2
Merge branch '6.1.3' into 6.2
Merge branch '6.1.3' into 6.2
[Code Cleanup] Whitespace fixes
Merge branch '6.1.3' into 6.2
Merge branch '6.1.3' into 6.2
Merge branch '6.1.4' into 6.2
* [Community Portals/Proxy] Moved the visitor cookie handling into the Community Portals functionality. It was originally in the deployed index.php per portal, but this made it difficult to replace the PHP reverse proxy with other proxy software.  It's now trivial to forego the index.php file and deploy Community Portals with more capable proxies like Apache mod_proxy or Nginx instead.  The index.php deployment is no longer recommended, but it will remain available because it's the easiest option that is supported in nearly all environments (including shared hosting).
[Code Cleanup] PHP STRICT fix; whitespace
[Manifests] Updated plugin manifest for 6.2 support
Per-series datasources; datasource plugins

* [Dashboards/Plugins] Plugins can contribute new datasources for dashboard widgets.

* [Dashboards/Charts] Each series on a dashboard chart widget may now specify its own datasource. This makes it possible to plot data from multiple sources on a single chart. Previously charts were limited to just worklist data, but additional sources may be now implemented through plugins. Existing charts will be migrated automatically to the new format.
* [Dashboards/Plugins] Implemented dashboard widget datasource extensions for worklist, url, and manual entry. These behave comparably to the earlier built-in options; however, they can now be reused in new types of widgets (even in third-party plugins).  A datasource extension can specify in its manifest which widgets it knows how to provide data for.

* [Dashboards/Counters] Counter widgets on dashboards can now pull in data using datasource plugins.

* [Dashboards/Gauges] Gauge widgets on dashboards can now pull in data using datasource plugins.

* [Dashboards/Usability] Some friendly instructions are now provided on gauge and counter widgets when they have no data source configured.  This helps disambiguate true values of zero in those widgets from a non-configured widget.

[Code Cleanup/Dashboards] Normalized the params of counters and gauges so they can share code (counter_* and needle_* to metric_*)
* [Dashboards/Counters/Usability] Improved the usability when setting up a new counter on a dashboards. You no longer have to click into multiple tabs to configure its style and data source.

* [Dashboards/Counters/Usability] When setting up a counter, the data format for 'seconds' has been renamed to 'time elapsed' to make its purpose more intuitive.
* [Dashboard/Gauges/Usability] When setting up a gauge on a dashboard you can now always override the data format (e.g. number, decimal, percentage, time elapsed), or prepend and append text to the label.  Previously these options were only available when using the 'manual' data source.  This improves the flexibility of other data sources (especially arbitrary ones like 'URL').
* [Dashboards/Charts/Usability] Improved the usability of configuring charts on dashboards. You now no longer have to click into multiple tabs to set the type of chart and pick a data source.

[Dashboards/Charts] Implemented custom dashboard widget datasources for charts.
* [Dashboards/Bar Charts] Bar charts on dashboards are now capable of displaying a mix of positive and negative values. This is especially useful when plotting changes (i.e. deltas) in some metric over time.

* [Dashboards/Bar Charts/Usability] Bar charts on dashboards now display a line through zero on the y-axis.  For regular bar charts with all positive values this improves readability when some bars may represent a zero values (and appear to have gaps).  For charts with positive and negative values the origin line draws a clear distinction between them.
6.2-dev checkpoint
* [Dashboards/Charts] Line charts on dashboards can now be used to plot negative values.  This is especially useful on time series charts where the y-axis value may be a positive or negative change (i.e. delta) in value.
* [Dashboards/Platform/Usability] Improved the mouseover tooltips for dashboard charts.  They used to be printed directly on the chart, which meant they didn't handle long values well, and they also partially obscured the upper bounds of the data.  Now the tooltips are handled by jQuery and CSS, so they could float or be stylized however we want.  Eventually these will be exposed as custom events in the charting library, but the new defaults are more useful than the previous behavior.