DMNetwork: Optimize dataheader
Based on comments by @BarrySmith, the following changes have been made in this MR.
- Increase the size of component array by a factor of 2 instead of adding 2.
- Replace the 5 arrays used for storing component metadata by an array of structs. This reduces the number of memcpys from 5 down to 1.