Improve Error Handling in Local Directory Feeds This change improves handling of two error types for filesystem based feeds. The first one is the handling of IO Errors which causes the input stream to be closed, and the second one is reacting to missed filesystem events. In both cases, we scan the directory and compare it with the history we have in order to resume from where we last left off.
In addition, this change includes some refactoring in external data. Particularly, we get rid of the stream provider layer and instead, stream factories create input streams directly. This is consistent with record reader factories which create readers directly without reader providers.