The next step of changes from #10785. This: Adds support for enum serialization to CustomUintFormatter, used in CAddress for service flags. Merges BigEndian into CustomUintFormatter, used in CNetAddr for port numbers. Converts everything (except wallet and gui) to use the new serialization framework.
Backport of core PR18317.
The SER_READ and SER_WRITE macros are triggering -Wshadow warnings
all over the place with GCC. Unfortunately I found no solution to
prevent these warnings without a massive renaming of the serialization
functions parameters, making the code difficult to understand. As a
consequence I disabled the warning for GCC.