* [Dashboards/Widgets/Usability] Dashboard widgets now display a single icon in the top right with a dropdown menu.  This provides a place to add more options.  Previously, every option was an icon, which limited the amount of space available to display the widget title.  The new menu will be used to provide options like duplicating widgets or exporting their data.
Merge branch '6.3.2' into 6.4
Added 'Export Data' functionality (CSV/JSON) to dashboard widgets: counter, gauge, chart, scatterplot, subtotals, pie

* [Dashboards/Widgets/Gauges] Gauge widgets can now 'Export Data' to JSON or CSV.

* [Dashboards/Widgets/Counters] Counter widgets can now 'Export Data' to JSON or CSV.

* [Dashboards/Widgets/Charts] Chart widgets can now 'Export Data' to JSON or CSV.

* [Dashboards/Widgets/Subtotals] Subtotal widgets can now 'Export Data' to JSON or CSV.

* [Dashboards/Widgets/Scatterplots] Scatterplot widgets can now 'Export Data' to JSON or CSV.

* [Dashboards/Widgets/Pie Chart] Pie chart widgets can now 'Export Data' to JSON or CSV.
Merge branch '6.3.3' into 6.4
* [Web-API/Usability] When using the 'expand' option in the Web-API, the extra records no longer contain extraneous fields like 'global timestamp' and the currently active worker.
* [Web-API/Authentication] Refactored the Web-API so that any code that checks for the 'active worker' may be used in API calls. The Web-API doesn't require sessions or cookies. Previously, the API implemented its own authentication, and the use of code that checked for a worker session would fail.
[Code Cleanup]
* [Workspaces/Plugins/Contexts] Implemented a context for Workspace Pages.
* [Workspaces/Plugins/Contexts] Implemented a context for Workspace Tabs.
* [Workspaces/Plugins/Contexts] Implemented a context for Workspace Widgets.
* [Platform/Devblocks/Plugins] Implemented  DevblocksPlatform::intClamp($n, $min, $max) for conveniently constraining a numeric value within a given range.
* [Platform/Devblocks/Plugins] Implemented DevblocksPlatform::strFormatJson($json) to format JSON in a human-friendly output.  Nested properties are indented, and one key/value pair or array element is displayed per line.
[Code Cleanup] Migrated from C4_AbstractViewLoader::getParamsViewModel() to ::getViewFromParams().  We no longer store PHP serialized view objects for worklist widgets.

* [Workspaces/Code Cleanup] Fixed an issue where worklist and subtotal widgets created an extra worker_view_model record in the database during rendering.  There should be one entry per worklist-based series.
* [Workspaces/Widgets/Code Cleanup] Improved the way that widgets store worklist datasource information.  Previously, Cerb stored a C4_AbstractViewModel object for each worklist datasource, serialized in PHP format, and base64 encoded in the widget properties.  This was bloated and not very human friendly.  It included a lot of information that could be reconstructed from worklist contexts.  Worklist information is now stored by widgets in an easily readable JSON format, without any extraneous data, encoding, or serialization.  At the same time, uniquely identifying information (like worklist IDs) are no longer used in widget properties, which paves the way for many new and highly anticipated features, like the ability to copy or share any widget.  The format of existing widgets will be automatically converted during the upgrade process.
[Code Cleanup/Workspaces] The data exported from widgets may now be edited in the popup.
* [Workspaces/Widgets/Code Cleanup/Performance] Removed some unnecessary code that ran when configuring several workspace widgets: counters, gauges, subtotals, worklists.  Several of these were derived from the original charting widget, and they emulated pulling a list of fields through Ajax every time the context (record type) of the worklist was changed in config.  That information isn't used by any of these widgets, and its retrieval created a few needless calls to Cerb and the database.
* [Workspaces/Widget/Export] All workspace widgets now support the ability to export their configuration to a plaintext format (JSON).  This option may be accessed by clicking the configuration menu in the top right of the widget, and selecting 'Export Widget'.  Using this feature, widgets may be saved and transferred electronically; providing the beginnings of a community exchange for useful widgets.
[Code Cleanup/Workspaces] Abstracted the code to unserialize a JSON worklist model.
* [Workspaces/Calendars] Migrated calendar workspace tabs to the new worklist datasource format.
* [Virtual Attendants/Worklists] Migrated Virtual Attendant 'Set List Variable' actions to the new worklist datasource format.  This is a prerequisite for creating VA import/export functionality.