Storage: allow backends to implement only one of commit/commit_one
Storage: allow backends to implement only one of commit/commit_one

This mostly reverts 0d914e13cc4a6e84cebb840c0be4d32abaacaddc, except
that it preserves the fix for the bug which could cause a NULL ->commit
implementation to be called. I do not believe this interdependency is
“irrational”: it reduces the boilerplate that backend implementations
need. Plus, this makes the implementation match the documentation again.

This also improves the debugging messages logged by
mcp_account_storage_commit() and mcp_account_storage_commit_all().

Fixes: <https://bugs.freedesktop.org/show_bug.cgi?id=32153>

freedesktop-unofficial-mirror/telepathy__telepathy-mission-control,freedesktop-unofficial-mirror/telepathy__telepathy-mission-control,freedesktop-unofficial-mirror/telepathy__telepathy-mission-control,freedesktop-unofficial-mirror/telepathy__telepathy-mission-control