fix use of legacy u_intN_t types in netinet/tcp.h

policy is to avoid using these types except where they are needed for
namespace conformance. C99-style stdint.h types should be used
instead.
reduce namespace pollution in netinet/udp.h

the affected part of the header is responsible for providing both GNU
and BSD versions of the udphdr structure. previously, the
namespace-polluting GNU names were always used for the actual struct
members, and the BSD names, which are named in a manner resembling a
sane namespace, were always macros defined to expand to the GNU names.
now, unless _GNU_SOURCE is defined, the BSD names are used as the
actual structure members, and the macros and GNU names only come into
play when the application requests them.