[keyserver] Split blob encryption and upload into separate functions
Summary:
A caller of the Blob API should be able to choose what needs to be uploaded, e.g. if the payload should be encrypted. This diff allows more flexibility while the old behavior isn't changed.
Depends on D9937
Test Plan:
Flow.
Check if calling the new function has the same result as the old one (using some console logs, with the same initialization vectors).
Also tested if throwing exceptions while uploading produces the correct result.
Reviewers: kamil, marcin
Reviewed By: marcin
Subscribers: ashoat
Differential Revision: https://phab.comm.dev/D9940