Rename Client.connection to Client.connectionProvider to reflect reality
Some documentation
Remove BadCredsType, make UnsupportedAuthRequirement retain the requirement