redmine #2912: readfile and textxform functions do not rely on 4k limit anymore

This is a PoC for discussion on the dev-cfengine list.

- Change allocation in `FnCallTextXform` to be dynamic instead of hammering the stack
- Change limit in `FnCallTextXform` and `FnCallReadFile` to CF_INFINITY

https://dev.cfengine.com/issues/2912
This function already has a guard against overly large files: its last argument. If the user passes a number of 999999999 he knows what he is doing. No need to guard the max value of maxsize. But we *should* guard for negative values.

I would suggest you change ```maxsize``` from int to long (unfortunately that's what ```IntFromString()``` returns, ideally it would be intmax_t) and just exit with error if size is negative.

Also keep in mind that CF_INFINITY **is not** intended to be used as a size limit for buffers. It's just a /magic number/ that means that the user passed "inf" as an argument. That is all it is and we shouldn't overload its meaning.