Feature/file ds

- adds a File dataset interface, also Input/OutputFormatProvider 
- an implementation named FileDataset, including a definition and admin
- Map/reduce runner to support Input/OutputFormatProvider in addition to BatchReadable/Writable
- utilities for scoped runtime arguments ("dataset.<name>.my.property"). 
- unit tests

Please give feedback especially about the APIs. 
A related question is that of managed vs. unmanaged datasets. If there are already files on hdfs and we create a file dataset from them, somebody may go and delete that dataset which will delete the hdfs files, which may not be what we want. We could say something like a managed filedataset does not take a basepath and is guaranteed to not conflict with other managed datasets and is deletable, versus an unmanaged filedataset that takes in a basepath, has no guarantee to not conflict, and whose underlying files are not actually deleted when the dataset is deleted.  Don't think any of these decisions have to be made now though.