Clone entities on delete to preserve ids

I suspect that this will fix problems reported in #508.  In the background I am working on better tests that will mock cascading deletes.  Will also see about making the repository available to the listener and sanity check the presence objects in the identity map before trying to remove from ElasticSearch.