[PasswordManager] Report error in PasswordStore::AddLogin()

PasswordStore::AddLogin() can fail for various reasons.
Before this CL:
AddLogin() returns an empty change list in case of error.
After this CL:
AddLogin() accepts an optional output parameter to report the exact
error. This is required for Sync machinery because it will react
differently to different bugs.

Follow up patches will consume this output parameter.

Change-Id: I2e58d945cbd4f3a099e27dce75075062f24b0785
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1621135
Reviewed-by: Vasilii Sukhanov <vasilii@chromium.org>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#662562}
17 files changed