Fix compilation on Solaris 11.

The DATA_TYPE_STRING enum value is defined in their zone.h file, but
we also use it in evaluation code, so compile these functions in a
separate file that doesn't include cf3.defs.h.

Fixes issue #3472.
Added new optional option mailsubject to body executor control, default [hostname/ip] + unit test
cf-execd: send X-CFEngine SMTP header if mailsubject set
Merge branch 'dev/mailsubject/xcfengine-header2' of https://github.com/cdituri/core

Conflicts:
	cf-execd/cf-execd-runner.c
	tests/unit/data/body_executor_control_full.cf
Use safe string functions and silence a warning.
Merge pull request #994 from kacfengine/solaris-11-compile-fix

Fix compilation on Solaris 11.