Remove FatalError from CfReadLine, push error handling to caller.

This changes the signature of CfReadLine from returning a true/false
to returning a ssize_t of bytes read. A return value of -1 signals
the error where previously CfReadLine terminated by FatalError.
select() does not work for pipes on Windows. Fixes #1908
Turn variable into a constant
Push ValidateClassSyntax for ifvarclass out of ConstraintNew
Fix wrong variable name
Remove unused function
Factor out logging.h
Introduce va_list variant for CfOut
Introduce ProgrammingError

To be used as a replacement for FatalError for programmatic errors.
The reason for not using straight asserts for now is to be able to
output and halt execution for Release builds.
Implement unit tests for Chop
Declare variable in for loop
Move pure string functions to string_lib.c
Remove unused variable
Declare variables at the point of use
Correctly format BSDFlag variables for printing
Fix validation of non-literal ifvarclass attributes

Add back the condition which got lost when moving check outside of
ConstraintNew.
Add missing include
d_type is not standardised, even on Linux. DT_UNKNOWN has been observed on SLES 12.2 with reiserfs. OTRS #2012121510000015
Move staging files back into prod
Merge pull request #272 from markburgess/master

Put client-server acceptance tests back into production