Add quit logic The `quit` verb is handled as a special case outside of the main verb code because it needs to be able to drop the player and close the connection, something that cannot be done within the standard verb functions.
Fix login state machine and rework commands Commands are now parsed as "verbs" that are part of "phrases". Each phrase can have at most one verb, and it must be the first word of the phrase. Everything after the verb is considered a noun in terms of processing and will be passed to the verb function as such. There is also logic in the `PlayerFile::write()` function that will create the `./players/` directory if it doesn't already exist.