Delete, Restore and Destroy now always show up on context menu when correct permissions, but are disabled until the object state is suitable.  Lightened the style of disabled context menu entries to make it easier to see the difference.  Changed names of delete type actions and APIs to be consistent, so Delete Forever is now Destroy, Move To Trash is now Delete, and Remove from Trash is now Restore.
Expanded the warnings for destroy operations, including listing which objects would be destroyed and requiring confirmation text for collections.  Refactored AjaxCallbackAction and ActionButton so that they take all confirmation dialog options as a single object.  Confirmation dialog now supports complicated elements for prompt text and includes an option for requiring the user to type confirmatin text before confirming.  Slight wording changes to all batch action confirmatons
Refactored AjaxCallbackAction to expect function overrides rather than functions defined by options since the model has changed.  Cleaned up duplicate functionality in action classes.  Improved UI side error catching and reporting for actions
Tracking Active, Deleted and Parent Deleted status for objects instead of just Deleted.  This allows the UI to only display directly deleted objects in the trash and to only offer restore for objects flagged as deleted rather than those that are inheriting the state.  Parent Deleted objects now show up as greyed out but not tagged as deleted.  Minor spacing adjustment to result table header