to reduce number of calls the header definition has been moved back into header

As i continue to optimize, i moved the header definition back into the
header.  This allows for us to make a single call to determine where in
the aggregate the header information is.  We also are now able to allow
for much more organic growth of the blob since we don't have to rely on
the single phase write into the aggregate for both the header and its
definition.  This allows us to save time on not having to do resizes
every iteration of our run.

we still are hitting corruption issues when running in parallel heavily.
still looking for root cause on this.