Add login method to RBClient

Previously a new RBClient object would need to be created to reset
credentials without the server returning Not Authenticated to a
request. Now the RBClient has a 'login' method which allows the
username and passsword to be reset.

The new credentials will be sent in the next request made to the API.
This includes requests made from resources which have already been
created (i.e. the credentials are global to all resources created from
the RBClient)