Add authenticate retry logic to RestClient

* re-auth attempted if response is 403
* only a single thread will attempt to re-authenticate
Merge pull request #3 from gschueler/master

Add authenticate retry logic to RestClient