Fix lastRefresh timestamp not being updated
Fix bug in jacoco output path

The jacoco output path was accidentally put in single quotes instead of
double quotes, causing the $buildDir variable to not be interpreted
correctly.
Add ReadWriteLock around token refresh

This lock ensures that only one thread attempts to perform a token
refresh at any given time. It also allows any number of threads to get
the current access token unless it is in the middle of being refreshed.