Add test for reading large strings from textfile
Add test for long string defined from module
Add test to make sure we dont crash when list elements are very long
Fix --enable-debug regression while still enabling overridable CFLAGS.

AC_PROG_CC sets some default values for CFLAGS on some systems, so
we need to separate between those, and flags that are passed in from
the command line.
Add STACK_FRAME_TYPE_PROMISE_TYPE
Move promise_logging into eval_context
Roll promise logging into EvalContext

This lets logging follow the stack more closely
Logging, prepend stack path for all stack frame types
Merge pull request #1405 from kacfengine/overridable_CFLAGS

Fix --enable-debug regression while still enabling overridable CFLAGS.
Merge pull request #1406 from ediosyncratic/leak-fixes

A few more leak fixes
Change csv_parser max size to 4kb

csv parser is based on static buffers, and I want it to be aligned
with CF_BUFSIZE but didn't want to introduce cf3.defs.h as dependency,
so I used a number.

This should be based on malloc and not on static buffer but don't have
time at the moment to make bigger change.
Give sys.ip_addresses an attribute_name tag
Add test for classes body taking function as param
When mapping arguments to body parameters, we can't type check, so don't try

Close #4319
Merge remote-tracking branch 'nick/bug/3957'
Bufferize RlistParseString, read*list functions

When parsing variable @ lines in the module protocol, first read the list,
then scan it for oversize items and potentially reject.

Close #3957
Clean-up in TLSRecvLine().

Unable to track down an uninintialized memory read in its helper
function, I simplified the code.  The old code was also rescanning all
old input, each time it appended new, looking for a '\n' that could
only be in the new; let's not waste time doing that !  If the UMR is
still there, it should be easier to find now ...

Also changed its return type to ssize_t (if there's any sense in the
buffer size being size_t, the return could overflow int) and fix its
garbled documentation.  (The @return refers to a parameter #line that
didn't exist, while talking about things other than the return value
and being wrong about whether the return count included terminating
'\0'; and the actual parameters weren't documented.)
TLSConnect didn't check for short line.

Not sure how this turned into the uninitialized memory read that
valgrind reports, but the final TLSRecvLine() can't have given us the
expected welcome message if what it's given us is shorter than that
message.  So check for that (and maybe this'll avoid the UMR - but I
suspect SSL_Read()'s return is actually the value that depends on
uninitialised data).
Don't just assume sscanf() succeeds - check it !

An uninitialized memory read reported by valgrind appears to stem from
sscanf() not filling a buffer for its second format specifier;
presumably it got text that didn't match its format.  Checking its
return is The Right Thing To Do anyway, so do that and log an error if
it didn't do what we expected.
LogRaw: const-ify buf (and tidy up a bit).

Since LogRaw() only reads buf, make clear that this is the case by
declaring it const.  Its loop body had a conditional lacking braces
required by our coding style; rather than doubling the number of lines
involved, I reduced it to one.  Hopefully the ?: involved isn't too
hard to read.