Macros: fixed issues with unallocated memory being freed.

At some point, most macro values were moved from allocated memory to
the stack, but the memory for the values was still being freed, which
was obviously causing problems. This commit moves the macro values
back to allocated memory, mostly thanks to the generous application of
strdup(). Eliminating the allocation/free cycle will be investigated
again in the future.

Also in this commit, macros for the new hourly value/importance host
and service attributes were temporarily removed. They were not completely
implemented and were causing problems.
Macros now exported to environment when enable_environment_macros=1
Prep for 4.0.3rc1 release
Macros: fixed bug where macros were freed in workers even when not present

This commit fixes the issue where memory associated with macros was being
freed in the worker processes even when the macros weren't present
(enable_environment_macros=0), causing the workers to crash.
Macros: added environment prefix to all macros (Alexey Dvoryanchikov)

This commit addes the environment prefix 'NAGIOS_' to all macros exported
to the environment. Previously ARGx, custom macros, and CONTACTADDRESSx
macros were exported without the prefix. Thanks to Alexey Dvoryanchikov
for the patch.