Refactor splitter; add support for data file URL as well as local file

Refactored splitter to separate the logic that gets an input stream
from the file from the file-specific logic to split it into chunks
Merge pull request #14 from harvard-library/2014-10-18-s3-files

Refactor splitter; add support for data file URL as well as local file