You might be able to cobble together this kind of functionality out of the toolkits but mostly it's not native.
When subtab is closed
This one is easily supported with the console toolkit. You can add listeners on the CLOSE_TAB event and do your refresh when that event happens.
When subtab is deleted
I believe in theory you could do something here. When you delete a record its tab is closed. Using the above listener, you would check for result.objectId to get the ID of the record which is deleted.
When subtab is saved
This is one I'm not entirely sure about how to do in a generic manner. You could try the onTabSave method but that only works when the dialog box pops up, not when a record is saved regularly. You could remove the Save button
And for Cases specifically we have an event you can listen to https://developer.salesforce.com/docs/atlas.en-us.api_cti.meta/api_cti/sforce_api_cti_onobjectupdate.htm
Streaming API options
Another option for this would be to use the Streaming API to create a custom solution. Create topics on the objects you want, and write a VF component which will listen for the delete+save events and then refresh if the change matches one of your open tabs.