[5.0] Add MacroableTrait for Filesystem

So that we can create macros like `File::getJson($filename, $assoc = true) {...}`, `File::getThenDelete($filename) {...}`
and so on