A cold-start account add could replace logins.json without keeping its
credentials when the JSON was syntactically valid but could not decode as
saved accounts. Match readLogins' typed decoding in the backup check, so
invalid field types and a wrong root type are kept aside before a write.
Readable account files still need no backup.
TestUnreadLoginsFieldTypesKeptBeforeWrite fails without the change because
no original-file backup is made for a string boolean, invalid time or
object root. The fixed cases and the readable-file control pass, including
five race-enabled runs. Update the providers/accounts failure contract.
go vet, the full nogui Go suite, the native macOS build and Linux/Windows
cross-builds pass under a temporary HOME with pinned Go caches.