Leak-fix: delete the list passed to FnCallNew().

FnCallNew makes its own copy of the list it's passed, and the parser's
original is no longer needed, so the parser should tidy it away.  I'd
previously cleared it, but hadn't realised we still owned it !

2394 blocks definitely leaked, 57k directly plus 123k indirectly.
Leak-fix: GenericAgentConfigDestroy() neglected two members.

The original_input_file and input_dir were first cleared away and then
set by GenericAgentConfigSetInputFile() but weren't being released at
the end of the object's life-time.
Leak-fix: handing off ownership to AppendItem(), which makes its own copy.

AddOpenPorts() called StringWriterClose() and passed the result in to
AppendItem(), which doesn't take over ownership; so it was leaked.
Use StringWriterData() instead and do a simple WriterClose() after.
Leak-fix: MonitorStartServer() neglected to yield a lock it had acquired.

So, naturally, it leaked thislock.lock.
PolicyAppendBundle(): constify its Rlist *args.
Skip the unused FnCallDatatype (using #if-ery).
Merge pull request #1406 from ediosyncratic/leak-fixes

A few more leak fixes