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:
We are still on v0.4.2. Please don't update the changelog in PRs, it often creates merge conflicts.