subclass TKey with correct path handling in GetKey, use new-style string formatting in roosh and merge io.utils into io.file