Refactor YAML session with SessionFactory::File role

We shouldn't make every file-based session engine repeat the same file
handling code.  With the new Dancer::Core::Role::SessionFactory::File
role, they only need to provide a suffix, and implement serialization.