HTCONDOR-1233 Fix schedd leak when spooling
HTCONDOR-1233 Fix schedd leak when spooling

The schedd uses the ill-named DaemonCore::Create_Thread function to
fork a process in the background to handle spooling.  DC::Create_Thread
takes a void * thread_arg, which it presumes is malloc'ed, and
DC:Create_Thread itself frees at the end of Create_Thread.  However,
the schedd populates the malloc'ed struct whose address is passed
as the thread_arg to Create_Thread with other, malloced structures.

Previously, the schedd was free'ing these interior pointers in the
callback, which happens in the forked child process, meaning this
leaks memory in the parent.

This commit fixes that by bundling the formerly malloc'd char *
peer_version into the same allocation as the thread_arg.

Surely a better fix would be to use function objects, and put the
per-call data into the closure, but that's a huge change.

htcondor/htcondor,htcondor/htcondor,htcondor/htcondor,htcondor/htcondor,htcondor/htcondor,htcondor/htcondor,htcondor/htcondor,htcondor/htcondor