Fielsystem: Use real_path() to convert virtual paths everywhere. This reduces the amount of duplicted code, and makes overloading the module quite a bit easier. Fixes some of [bug 7659 (#7659)].