Make file handler async, simplify exec impl.

- File handler now accepts a file `options` argument and is asynchronous
- Simplified `exec:` implementation.