Multiple issues.
XX "niormalisation" approach was based on the assumption that we always have at least "standard".
It turned out to be false - certain older applications like `quagga` or `routed` abuse sin[6]_len field and set it to the offset to the first fully-zero bit in the mask. It is impossible to normalize such sockaddrs without reallocation.
With that in mind, change the approach to use a distinct memory buffer for the altered sockaddrs.
This allows to support the older software while maintaining the guarantee on the "standard" sockaddrs.