* [Profiles/Gravatar] Improved the default image on a worker's profile when their email address doesn't have a Gravatar associated with it.
* [Profiles/Virtual Attendants/Scheduled Behavior] A new 'Scheduled Behavior' tab has been added to worker profiles.  This allows a worker to see all their pending scheduled behavior in one place.

* [Setup/Scheduled Behavior] Administrators can now view and modify everyone's scheduled behavior from Setup.
Code cleanup
[Choosers/SDK] Cleaned up the view code in the example.object SDK so it works with the new choosers functionality.
[Virtual Attendants] Fixed a few minor issues with VA actions from the new changes.
[Watchers/Virtual Attendants/Snippets] Added an $as_contexts third argument to the CerberusContexts::getWatchers() helper.  This returns the watchers as contacts rather than DAO objects, which is suitable for use in VAs and snippets.
* [Watchers/Worklists/Usability] If more than two watchers are searched for using filters in a worklist, the filter bubble will now report "Watcher is any of (5 people)" rather than listing out each worker.  Hovering over the "5 people" text will show the names in a tooltip.
* [Virtual Attendants/Macros] Added a new Virtual Attendant event for 'custom worker behavior'.  This allows you to create worker-based macros that can be added to workers from their profile.  For instance, you can use a worker macro to send someone a reminder of all their overdue tasks.
* [Worklists/Worker/Usability] The worker worklist now displays each row on two lines (like the majority of other worklists).  This allows more room for additional columns.
[Devblocks/Platform] Added the ability to pass additional type-dependent options to DevblocksPlatform::sanitizeArray(). For example, for 'integer' you can use 'nonzero' to remove zeros and 'unique' to force distinct values.
* [Worklists/Search/Usability] When hovering over the search filter bubbles, they will no longer resize and jump around the screen when the delete buttons become visible.  From a usability standpoint, nobody likes a button to move as they get closer to it.
[Choosers/Platform/Devblocks] The Javascript function for adding choosers functionality to a button will now tolerate the bubble list coming before or after the button (in jQuery parlance, as 'siblings' rather than 'nextAll').
[Choosers/Devblocks/Platform] Escaped the selectors when choosers check for duplicates in the currently selected bubbles.  There were certain characters (like '{{' from placeholders) which were treated as selector instructions rather than strings.
[Code Cleanup/Worklists/Tickets] Combined several custom search filter templates on ticket worklists to use the reusable '__list.tpl' key=>value template.
[Code Cleanup/Virtual Attendants] Removed the old $notify_map code since this is handled much cleaner by the new valuesToContexts map.  It allows more context (worker custom fields, worker behavior vars, worker lists, watchers and linked object watchers).
* [Worklists/Search/Usability] Setting an existing filter on a worklist will now automatically use the current options as a starting point rather than a blank form.  This makes it much less frustrating to modify filters, especially when making small changes to complex options.
[Code Cleanup] Removed redundant View_* code in subclasses by implementing generically in C4_AbstractView.

* [Worklists/Usability] The search filters for all boolean fields will now be displayed as 'yes/no' instead of '0/1'
[Code Cleanup/Views] Implemented the View_* improvements for addresses
[Code Cleanup/Views] Implemented the View_* improvements for kb articles
[Code Cleanup/Views] Implemented the View_* improvements for opportunities