Auth refactoring

This allows a consistent auth to be used throughout the entire session,
but doesn't require the credentials to be specified on the connection
URL.
A testing change I didn't intend made it in

(and go vet found it, yay)