Bug fixes for Issue #7 and #8 plus fix for incorrect caching of refresh tokens.

Fix issue with refreshed cache entries not having userId info. The server does not send back an id_token on token refresh requests, so the cache code needs to fill in the new entry with the originating entries userId information.

Return a reasonable error message when an entry cannot be found in the cache during the basic acquireContext flow.

Add some slop, 5 mins, to token expiry calculation to account for clock skew and network latency.
Why don't you use CLOCK_BUFFER constant here?