Mlhr 1339

* Throw runtimeexception when an IOException is encountered and the maxRetryCount <= 0.
* removed FSInputOperator
* removed redundant logic in AbstractThroughputHashFSDirectoryInputOperator for definePartitions.

AbstractFSDirectoryInputOperator

Fixed timing issue with scanning that causes Unit Test to fail
Added files to failure list for retry if an IOException is thrown
Fixed bug where if two currentFiles got mapped to the same partition during repartition one of them would be dropped.
Fixed bug with directory scanner where each partition would accept a file if no regex was specified.
AbstractThroughputHashFSDirectoryInputOperator
Added unit test for making sure that repartitioning while a file is read is handled properly.
Added idempotent flag which allows the user to make the operator idempotent

Added AbstractThroughputHashFSDirectoryInputOperator. Does dynamic partitioning based on the number of files left in a directory.

Tested as thoroughly as I could, but ran into SPOI-3053 and SPOI-3054.
Triggering partitioning to find out whether partitioning is needed is inefficient. Instead, collect stats that allow making the decision in the stats listener. Collecting stats is useful for monitoring also.