Simplify filesystem natives.

This patch does two things - first, it unifies the valve/system file system paths into a single type called a FileObject. For most natives, we never care which kind it is. Second, this introduces a helper class which has been LONG OVERDUE that should greatly simplify opening handles.

I also removed error checks on LocalToString, which albeit correct to have, we pretty much don't do anywhere so if those fail we're generally screwed anyway.