In order to support rolling measurements for future changes where we incorporate corim generation as part of the igvm crate, we may want to change the IgvmFile API to allow adding directive headers one-by-one, instead of requiring them all to be present initially. This would allow a user to only define platform and init headers, and then dynamically add directive headers as running through loader code, then very easily finalize the igvm file by adding a corim/measurement header via a consuming self method.