Add lock-doesnt-exist counter example

This counter example proves that async lookup/range/iterators can try
to release files that have since been deleted by the `drop` call.
Cleanup async workers on drop

During drop call there could still be async range/lookup/iterator pids
running.  Kill these pids and remove them from the list so that a
release call is not made to a non-existant file.