libsnapshot: add CowSizeInfo struct
Adding a cow size info struct as writer will now need to know the op buffer
size at the time of initialization. The sequence of events is as follows
(same as estimate_cow_size but putting down here for clarity)
1. ota_from_target_files does dry run to determine cow size + ops buffer
size
2. data is passed through delta archive manifest
3. snapshot.cpp parses these fields and confgiures cowoptions struct to
pass to writer initialization
4. cow is initialized with correct sizing. Data is incrementally added
at the ends of the cow ops buffer (which is why we need to know the
sizing ahead of time)
Test: ota
Change-Id: I950e5ef82c9bd7e9bd9603b0599c930767ee3f0d
8 files changed