[5.0] Add MacroableTrait For Filesystem

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