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. 
If we do something like `createDataset("/tmp/sdf", "file", ..)`, then writing to that dataset would write to files under the directory `/tmp/sdf`? If so, I think the file dataset API would be more consistent with the other datasets if we specify the dataset name and then a separate option for the actual directory where the file dataset would be stored.