[client-backup] implement initial restore backup protocol
Summary:
Function performing restoring backup.
It's initial version which will return very detailed result of what went wrong - relevant message will be shown to user in rest of the stack.
This is complicated, but some things can work independently (eg. even is UserKeys download fails we still want to check if we can download UserData but we will never be able to decrypt it).
Depends on D9001
Test Plan: Call function and confirm result
Reviewers: michal, marcin, bartek
Reviewed By: bartek
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D9002