Allow sync manually, instead force sync at ever login

Sync moved to helper, can be called from login and manually from api
minor adjustment, but the context should always be the first param:

```
func SyncUser(ctx context.Context, user *model.User, remote remote.Remote)
```