MRG: io.file improvements

* `GetKey()` is overridden and can access keys in subdirectories
* `_DirectoryBase` implements `__contains__` so the existence of an object in a file can be tested with:

```python
if "some/path" in rootdir:
    # do something
```

* io.utils is merged into io.file with functions that were in utils now as methods on `_DirectoryBase`
* new-style string formatting is used in roosh