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. 
It seems like the method name and the javadoc is a bit mismatch. The javadoc says `input locations`, but the method return a `Location` and doesn't have `input` in the method name, but the one above that returns a `List` has `input` in its name.