Add ability to deauthenticate

This PR adds the ability to deauthenticate (or logout) of the Hex client, which will remove all information from the config file, allowing other users to login.

It also adds the ability to flush the config file of all kays.

Thoughts?

Tests are included, and pass. All commits have been squashed with rebase.

:dancer:
Will writing nil delete the key, or set its value? If yes, then using update_config isn't an option, otherwise, I'll make this change.