Modernize send_tgs.c

Bring send_tgs.c up to date with current coding practices.  No
functional changes.
Simplify TGS request construction

Move krb5int_make_tgs_request from gc_via_tkt.c into send_tgs.c,
combine it with krb5int_make_tgs_request_ext (which nothing else
called), and rename the combined function to k5_make_tgs_req.  Also
use a typedef for the pacb callback.
Add and use k5memdup, k5memdup0 helpers

Add k5-int.h static functions to duplicate byte ranges, optionally
with a trailing zero byte, and set an error code like k5alloc does.
Use them where they would shorten existing code.