Fix stale targetUrl on re authentication - fixes #22

This means in addition that calling Authenticate() is optional - it
will be called on first use of a Connection method.  It is still
probably a good idea to call it and fail at the first opportunity
though.