Uninclude generic_agent.h from prototypes3.h
Split core sources into libpromises and binaries' subdirectories.
Introduce libutils

Utilities used by CFEngine, without dependencies on evaluation.
Merge pull request #284 from sigurdteigen/cleanup/library-split

Cleanup/library split
Folded GCC_CFLAG into CFLAGS
Update for libutil/libpromises split
Fix incorrect buffer size calculation

This was discovered on OpenBSD which is far more aggressive about
using canaries and placing buffers at memory boundaries. In particular
this most often bites when a scalar is of length 0 because, unlike
Linux and MacOS X, OpenBSD does not return a memory pointer just
before a pre-zeroed section of accessible memory. Therefore any read
or write accesses to the returned pointer will typically result in a
segmenetation fault on that platform.
(cherry picked from commit 0099d3bccda8f386e96a5201a490a0f40062a608)
Update tests for OpenBSD

This will allow all acceptance tests on OpenBSD to pass except for
00_basics/03_bodies/118.cf which is due to a bug in OpenBSD's
implementation of grep. When OpenBSD's grep is corrected or replaced
with GNU grep, that test also passes.
(cherry picked from commit 4ac570a44c16852ff8cbf4dc89ff5fe1894641f9)
Move verify_files_utils.h to cf-agent
Move Set to libutils
Move ProgrammingError from logging.h to alloc.h

May be moved to something more specific, but the important part is that it's
in libutils, so Writer can be moved over.
Move misc_lib to libutils

Also, move ProgrammingError from alloc to misc_lib
acl.h needs cf3.defs.h include
acl_posix.c needs misc_lib.h include (ProgrammingError)
Update for renaming nova-reporting.h -> nova_reporting.h