Extract an Application.Types module

Moved StartupOptions there, and created a FileType so we don't
deal further with strings when representing them.