SHDP-294 Add split reader for TextFileReader

- New interfaces for Split and Splitter
- 3 generic implementations for Splitter
- Refactored TextFileReader and AbstractDataStreamReader
  to be able to understand input splits.