Test reading cache, convert to promises

Test reading cached refreshed token from disk.
Upgrade mocha version to something after 1.18 so that I can use the
promise api.
Change async tests to use promise api.  Returning promises instead of
accepting a done callback makes all testing errors flow to the
framework instead of having to catch the exceptions thrown in deep
callbacks and route them to done.