Refactor of Client's code:
Don't create default HttpClient instance till it's needed
Moved part of authentication code to HttpClient
DRYied AuthListener a bit