It's okay to *not* copy the trailing zero of a windows section/symbol name.
This is compatible with strncpy behavior but gcc doesn't know that and
throws an invalid warning. Encode this behavior in a proper function.
Ref: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#section-table-section-headers
and https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#symbol-name-representation
Can we drop the template parameter and make Dest char (&Dest)[COFF::NameSize]? Then all we need is the assert for Src.size() <= COFF::NameSize.