check for null Promise *pp before dereferencing
New option `--print-digest`/`-p` for `cf-key`.

With the new option it is possible to print the default CFEngine
digest value for a given public key file.
New option `--trust-key`/`-t` for `cf-key`.

This new option copies the given public key file
to the file name where `cf-serverd` would have stored
it if it had been gotten as the result of a successful
network exchange.

Such an option is intended to be used in fully-automated
installs, when there is a trusted way of deploying client
keys on the server and vice-versa.

  modified:   cf-key.c
Wrap agent_type into GenericAgentConfig (not THIS_AGENT_TYPE, unfortunately)
Check for function: xmlFirstElementChild in library: libxml2, in order to insure that the
current version of libxml2 is installed.
Fix english typo: JsonIteratorCurrentContrainerType -> JsonIteratorCurrentContainerType
Split GenericInitialize into GenericAgentDiscoverContext, GenericAgentLoadPolicy

Pull out agent_type casing in GenericAgentLoadPolicy
Preliminary cleanup of GenericAgentLoadPolicy
For cf-promises, remove --parse-tree, replace with --policy-output-format

The changed flag does the same for now, but in order to get JSON output,
users must specify --policy-output-format=json

Currently 'none' and 'json' are the only valid values. 'none' is default
and will not print anything.
camelCase for --policy-output-format=json
Add namespace attribute to bodies and bundles in --policy-output-format=json
Merge pull request #341 from sigurdteigen/feature/policy-output-format

Feature/policy output format
Remove deprecated GetBundle, replaced by PolicyGetBundle
Do not 'cache' subtype name on struct Promise
For SubTypeAppendBundle, get bundle info and namespace from parents
Enumize Rval types into RvalType

Removes #define CF_SCALAR, CF_LIST, ...
replaced by RVAL_TYPE_SCALAR, ...
Retire producing system reports using report: promise type
Move DePort function to cf-monitord
Unexport CF_DIGEST_TYPES/CF_DIGEST_SIZES
Unexport TCPNAMES