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. 
I myself usually do it like this, which yield more compact code. Just writing it as a reference, no need to change the current logic.

```java
String sep = "":
for (...) {
  paths.append(sep).append(getFileSystemPath(location));
  sep = ",";
}
```