Scatterplot refactor

* [Dashboards/Scatterplots/Usability] Scatterplots on dashboards are now their own widget. Previously they were a rendering option on charts, but their usage is different and it was confusing to many people that some line or bar charts couldn't display as a scatterplot without modification.  It's now possible for datasource extensions to treat scatterplots specially; they're designed to visualize non-linear clusters of data.  Existing scatterplots will be automatically migrated to the new format and shouldn't require any modification.

* [Dashboards/Scatterplots] Scatterplots will now scale their axes based on the given data.  Previously, all scatterplots had (0,0) in the bottom left and if data was significantly larger (or negative) then most of the chart was wasted whitespace.  Now you can use dates and timestamps on an axis and the chart will be scaled to the time between the min/max date, rather than showing 'all time'.

* [Dashboards/Scatterplots] Scatterplots can now display negative values.  This is useful when plotting deltas where a trend may be decreasing.
* [Dashboards/Pie Charts] A new pie chart widget has been added to dashboards. This can be used to visualize distributions for external datasources.  The subtotals widget is still the easiest way to render a pie chart from a worklist.

* [Dashboards/Pie Charts] The legend on pie charts can be set visible or hidden.  When hidden, only the label and value of the currently focused wedge will be displayed.  This is useful when there are many wedges and displaying the values all the time would clutter the dashboard.

* [Dashboard/Pie Charts] The value for pie chart wedges can be given a specific type (e.g. seconds elapsed, bytes, number, percentage, decimal) as well as a prefix and/or suffix.  This makes it easier to discern units and whether you're looking at frequencies, averages, or sums.
* [Dashboards/Charts] Added a slight margin to the top and bottom of line charts so their min/max plots aren't cut in half.  The y-zero line is also adjusted by -0.5 if it was on an odd numbered pixel, since this gives sharper straight lines w/o anti-aliasing.
* [Dashboards/Counters/Gauges/Usability] Dashboard counters and gauges may now display their values in 'bytes', which will display human readable units of storage space (e.g. 50KB, 270MB, 4.7GB).
* [Performance/Platform/Plugins] Prior to version 6.2, viewing the Plugins page in Setup would automatically scan the filesystem for new plugins or updates. This had a considerable performance impact because it reloaded every feature and plugin, including some expensive database operations (ACL, translations, etc). The process because generally unnecessary due to the introduction of the Plugin Library in version 5.7. Given those factors, this functionality has now been optimized in two ways: (1) Cerb will only scan for new plugins and changes in the storage/plugins/ directory when visiting the plugin page; (2) only plugins with a new version number in their plugin.xml will be re-synchronized.  For most visits to the plugins page there should be a dramatic reduction in the amount of REPLACE queries run against the database.  During development, the DEVELOPMENT_MODE flag circumvents this behavior to make it more convenient to edit code and view the results without constantly running the /update page.
* [Platform/Plugins] Fixed an bug in the DevblocksPlatform::sortObjects() method that forced all numbers to be compared as integers, thus rendering it incapable of properly sorting decimals (e.g. 0.5 and 0.3 were both rounded to zero). Numbers are now properly compared as floating point values.
6.2-dev checkpoint