[Aesthetics/CSS] Stylistic tweaks
[Code Cleanup] Removed the Workspaces page.  It has been replaced by custom pages and tabs.
Major workspaces/pages/menu refactor.

* [Pages/Workspaces] The entire approach toward custom workspaces has been redesigned.  Now instead of just being able to add new tabs to existing pages (i.e. custom tabs on Mail, Activity, Address Book), workers can create brand new pages.  These pages can be owned by roles, groups, or workers; which simplifies the process of sharing a workspace.  Previously, each custom workspace tab could have a different owner, but the tabs and worklists on a page now inherit the owner of their page, making it much easier to ensure that everyone using the workspace has access to all of its content.

* [Pages/Menu] Most of the built-in pages (e.g. Mail, Activity, Address Book) have been removed in favor of the new custom pages functionality, since a worker can now construct their ideal environment based on their specific duties.  This means that pages that don't concern a particular worker can now be completely removed from their menu to make room for more relevant things.

* [Pages/Menu] Each worker can now add or remove pages from their own global menu.

* [Pages/Menu] Pages that haven't been added to a worker's menu can still be accessed from a new pages worklist.  A downward-pointing arrow icon is located at the of the menu bar.  When clicked, this will display a list of all pages that the current worker can access.  Clicking on a page in the list will display it.  A 'menu' column is also provided to add any of these pages to the worker's global menu.  A quick search option helps find pages when the list gets crowded.

* [Pages/Workspaces] Custom workspace tabs from earlier versions will be automatically migrated to a new custom page for each owner that contains all of their legacy workspace tabs on it.  This content can then be redistributed using the new functionality.

* [Pages] When displaying any custom page, a worker is given the option to add it to their global menu with a single click.  Conversely, pages can also be removed from the menu in the same fashion.

* [Pages/Menu/Usability] A 'transfer' effect gives a visual indication of what happens when a worker adds something to their menu.  A small box outline will move across the screen from the location being clicked and toward the menu when adding an item; and the same animation happens in reverse when removing an item from the menu.  This remedies some early feedback where it wasn't immediately clear to some people what happened when clicking the buttons that added menu shortcuts.

* [Pages/Usability] Workers can now mouse-drag pages around in their global menu to change their preferred order.  This order can be different for each worker.  The first page in the menu is treated as the default page.  This addresses some long-time feedback where various people have requested the ability to replace the 'Mail' page with something else.

* [Pages/Usability] Workers can mouse-drag tabs around on custom pages to change their preferred order.  The preferred order of these tabs is remembered for each worker.  A worker can change the order of the tabs on any page they have access to, even if they otherwise can't modify its contents.  This allows a larger collection of workers to share the same pages, but modify them to suit their duties.  On a page that displays mail, calls, and tasks, various workers may deal with one type of record more than the others.
[Code Cleanup/Mail] Removed the extraneous content from the Mail page, since it is no longer displayed.  The only path that still responds here is /mail/compose.
* [Plugins/Devblocks/Search] Implemented a new template (devblocks:cerberusweb.core::internal/views/criteria/__context_owner.tpl) for filtering any worklist by a context-based owner (e.g. role, group, or worker).
[Code Cleanup] Fixed a bug and PHP notice resulting from the use of $id rather than $ids in the context update notification of DAO_Group::update().
* [Performance/Roles] Requesting a single 'worker role' object was performing a database lookup each time, and now it will properly use the cache.  This was generating several superfluous queries when displaying worklists that have an owner column with a role, group, or worker (i.e. each row that contained a role-based owner was doing a new database query).
* [Mail/Conversation/Aesthetics] On the mail conversation profile page, the tags that denote messages as sent, received, comment, or sticky note, have been stylistically improved.  The font size is smaller, the colors are sharper with better contrast, and the square corners have been rounded.  This provides a more modern look.
* [Mail/Conversation/Usability] When displaying a mail conversation, the 'Date:' header is now always displayed using the current worker's timezone.  The original timestamp in the sender's timezone can be displayed from a tooltip by hovering the mouse over the the relative time to the right of the date (e.g. "2 hours ago").
[Code Cleanup] Flagged a few contexts with option 'create'; removed the 'Attendants' an 'Snippets' tabs from Edit Group since this functionality moved to profiles; removed some commented-out code.
* [Performance/Pages/Workspaces] Fixed the issue where worklists inside a workspace were loaded twice.  Those pages should now load dramatically faster.
5.8-dev Checkpoint