Refactored FS operations

- Callbacks now just get passed the FSRequest object
- FSRequest objects hold loop, path, result and error attributes
- Inline a few functions
- Const-ify argument in stat_to_pyobj function
- Fixed memory leaks when using some sync function variants