Moves cached refresh tokens to disk not config

Inconsistent with existing access token behaviour and made the config
and background logic more complex than was needed.

It forced the artificial requirement that a non empty value was present
for the refresh token which causes a number of issues, brittle config,
unable to invalidate cache and having to conditional update the config
file (token changed, rest of config unchanged).

This changes the accessor methods to use a local file.

Behaviour is NOW BROKEN subject to a future fix because the presence or
passing of a refresh token is hit/miss and untested.
Expands on BBConfig#to_fog specs

Checks a few more cases and covers 100% now