Add meta and defaults to normal order list
closes redmine #2006
Very small typo fix
Replacing memory allocations

Instead of using stdlib memory allocations we will use our wrappers, that way we don't have to worry about memory errors.
This has the side effect of aborting the program if we run out of memory.
Get rid of "empty format string" compiler warnings.

Temporary measure while cfPS is restructured.
Merge pull request #301 from dolanor/patch-1

Very small typo fix to documentation.
Merge pull request #285 from nickanderson/bug/2006

Add meta and defaults to normal order list
Adding FUNC_ATTR_PRINTF

We use this macro with variable argument functions.
Add paths for debian
correct debian www service
Implement automatic discovery and bootstrap for cf-agent.

cf-agent discovers policy servers using Avahi implementation of Zeroconf protocol
at runtime using dlopen.

If a single hub is discovered cf-agent will automaticaly bootstrap to it.

If there's more than one hub discovered cf-agent will print a message listing
available hub and ask user to manualy bootstrap to a proper IP address using
--bootstrap --policy-server <right IP address> command line option.

To use automatic bootstrap --bootstrap/-B command line option is required without
specifying the IP address.
Implement generation of Avahi configuration file.

Add new command line option to cf-serverd -A. cf-serverd executed
with this option will generate Avahi configuration file in
/etc/avahi/services and restart avahi-daemon to make policy server
discoverable over the network.
Register atexit function to close loaded library.
Check if avahi is installed on the machine while running configure.
Use generic linked list for storing information about found hosts.
Check if two hosts found have the same hostname.
General code cleanup.

Remove unused function isIPv6.

Remove unused structure.

Fix definition of HostProperties structure.

Move PrintList function to public header.

Remove unused definitions of functions.

Replace printf functions with CfOut.

Fix indentation.

Remove error string from CfOut messages.

Remove unused variable 'tried'.

Change output type from cf_inform to cf_reporting.

Code cleanup.

Use ListIteratorData instead of direct dereferencing if iterators.
Search for env variable to find avahi library.

If avahi is installed in non-standard location use env variable
AVAHI_PATH to specify location of libraries i.e.:

AVAHI_PATH=/lib/libavahi-client.so ./cf-agent -B

If not specified cf-agent will look for libraries in default locations.
Add unit test for automatic bootstrap.

Test cases covered:

1. No hubs found.
2. One hub found.
3. Multiple hubs found.
4. Avahi error occured.
Don't bootstrap automatically if more than one hub found.
Remove VINPUTLIST

Previously, VINPUTLIST contained the list of inputs read from body common control
during parsing.

Now we have:
  Policy *PolicyParseFile(const char *path)
And:
  Policy *PolicyMerge(Policy *a, Policy *b)

Allowing Policy object to be treated as stand-alone collections of bundles and bodies,
and allowing them to be 'linked' (merged) together later for evaluation.