reset the client when server revokes token

it's possible for the server to revoke an access token
when this happens, the CKIClient will now detect it and set the
authToken and currentUser to nil.
Merge pull request #49 from jarsen/master

reset the client when server revokes token
made the stream generic for use in a course