events: catch and ignore DirectoryIteratorException

A DirectoryIteratorException wraps an IOException for a case where the
method is not allowed to throw an IOException. For many cases of our
error handling, treat it the same as an IOException by throwing the
wrapped IOException. Also clean up some usages of IOException handling
where it should be propagated further up.

Change-Id: I34b386dbd7bc1ab6cb890ab4c9616b37585a4f52
4 files changed