* [CHD-2857] [Platform/Cache/Update/Memcached] Reimplemented the version check that determines when to run the /update process for upgrades.  Previously the last known version was cached, but if this was stored in memory (like Memcached) then the application would think it was being updated every time the cache was cleared.  Since Memcached isn't persistent (compared to Membase/Redis), this also meant that Cerb could go into update-mode every time the server was rebooted.  The last known version is now stored in the filesystem, until we have a mechanism for determining that other forms of caching have persistence.
[Code Cleanup/Mail] Converted the ticket peek popup to IDevblocksProfilePeek
* [Mail/Compose] Merged the mail compose page with the peek popup.  The popup for creating tickets now supports all the standard functionality: custom fields, org linking, to/cc/bcc, recipient suggestions, attachments, etc.

* [Mail/Worklists] New tickets can be created from any ticket worklist.
* [CHD-2057] [Mail/Links] New tickets can be created with the 'Create & Link' option from the 'Links' tab on any profile.
Implemented a context for Drafts.

* [Mail/Drafts/Workspaces] Draft worklists can be added to workspaces.

* [Mail/Drafts/Virtual Attendants] Drafts can be used as list variables in Virtual Attendant behavior.  For example, a VA could be instructed to send a daily email reminder about unsent drafts.
* [CHD-1855] [Mail/Drafts/Compose] Saving a draft while composing mail from the new peek popup will now save everything: message properties, custom fields, options, and file attachments.
[Code Cleanup/Aesthetics] Added the 'tag' look to Mail timeline entries for drafts.
* [CHD-1832] [Mail/Reply/Drafts] Saving a draft while writing a reply on an existing conversation now also saves custom fields and attachments.

* [Mail/Reply/Attachments] Attachments are now added to mail replies using a file chooser.  This allows the future functionality of selecting frequently used attachments from a library.  This would drastically reduce the storage requirements for processes that send a lot of duplicate attachments; e.g. marketing materials, forms, etc.

* [Mail/Reply/Forward] When forwarding a message from an existing conversation, the attachments of the original message will be 'linked' to the new message.  No matter how many times you forward a file with attachments, there will only be a single copy of those files in storage.
5.8-dev checkpoint
[Code Cleanup] Added a shortcut to 'Calendar' in the worker name menu (top right).
[Code Cleanup/SDK] Removed another deprecated SDK example (mail tabs).
[Code Cleanup] Removed some deprecated ACL privs and strings
6.0 version checkpoint
[Code Cleanup] Plugin manifest tweaks for 6.0
* [Pages/Workspaces/Plugins] Implemented a new extension point (cerberusweb.ui.workspace.tab) for creating workspace tabs with completely custom functionality.  Rather than just containing a set of worklists, a tab extension could display a dashboard of reporting metrics, etc.  This extension point is currently used to provide a 'Knowledgebase Browser' tab that can added to any page.
[Code Cleanup] Fixed an issue with the upgrade patch from 5.8 to 6.0
[Code Cleanup/Pages/Tabs] Tweaked the code for adding a new workspace tab so it always shows the 'Type' option.
[Code Cleanup/Menu/Usability] A worker can now click anywhere in the global navigation menu, rather than exactly on a link.  This requires less mouse finesse and reduces strain.
[Code Cleanup/Usability] The 'transfer' effect is now more pronounced when adding or removing pages on the menu.  The previous 'dotted outline' was only visible with highly contrasted and calibrated displays.  A filled box is now used as well to make this more obvious.
[Code Cleanup/Usability] 'Add Tab' will now re-focus the 'Title:' field after adding a tab.  This makes it easier to add several tabs at once.