Feature/improve no token and offline situation
Despite there are a number of commits (most are refactors), the two important things that this MR does are:
- add an
offline
parameter to replace oldsyncable
one, according to discussion in #8721 (closed). - avoid syncing if there's no token or if offline.