[cleanup] Fix compile warnings

Fix printf format warning and make capability table 'const static'
[cleanup] Allow message tables to be constant

Avoid bugs, and improve cache locality by allowing message lists
to be read/only.
[bgpd] add comment that bgp_capability_receive is exported for unit-tests
[bgpd/cleanup] make message lists read only
[OSPF/cleanup] make message lists read only
[zebra/cleanup] make message table read only
[BGP/cleanup] main program cleanup

Check result of daemon() call to fix warning
Make local variables static
[BGP/cleanup] make ecommunity variables/functions local
[BGP/cleanup] make some damp function static
[BGP/cleanup] make community hash table static
[BGP/cleanup] make message list in bgp_open const
[configure] Detect support for monotonic clock

Quagga has code to support monotonic clock to avoid issues where
time of day changes. The support was incomplete since it was not being
detected by autoconf.
[configure] Refine CLOCK_MONOTONIC test

* configure.ac: Check for the actual CLOCK_MONOTONIC symbol, as clock_gettime
  need not imply that clock type is supported
* lib/zebra.h: use the method given in autoconf docs for sys/time.h
  inclusion
[doc] Removes documentation of nonexistant option.

Expansion of Ubuntu quagga-0.99.11-1 30_doc__ospfd.8__nolog.dpatch
[daemons/cleanup] Remove disabled log_mode argument support.

* */*main.c: Seems that the actual code was removed previously, but the
  argument processing code remained.
[configure] add configure support for PCRE Posix library

Debian tried unsuccessfully to build with libpcreposix.  This adds proper
support to autoconf/configure.ac for it.

Based on the patch by C.J.  Adams-Collier in bug #483.

bgpd/bgp_{regex,routemap}.h: Pull in PCRE POSIX header if available.
[build] cleanup low-hanging autoreconf warnings

Some uses of GNU make extensions were not necessary.  There are still some,
but they might exist as workarounds for older versions of autoconf that have
since been solved.

Lesson learned: implicit target rules have opposite order to pattern target
rules.
[configure] remote support for AIX, it conflicts on newer autoconf

AC_AIX and AC_GNU_SOURCE conflict > autoconf 2.53 or so,
but the replacement AC_USE_SYSTEM_EXTENSIONS isn't available
until later versions.  So either we narrow the supported
autconf version range, or disable AIX (if it has any effect),
or determin that AC_AIX doesn't do anything useful anyhow.
[configure/cleanup] fix broken autoconf cache variables

Fix zebra_rtread and zebra_ipforward_path.

It looks like someone tried to make this cached, but it was being ignored at
least on autoconf 2.6.1.  2.6.2 now gives a warning about the situation,
hence this fix.

Although they are just warnings, it's dangerous to leave them as-is, because
someone not diligent in reading the autoconf manual might just stick _cv_ in
the name, with the effect that running a ./configure --config-cache would
fail horribly, since variables are being set inside the AC_CACHE_CHECK()
block that would not be seen when the variable's value was read from cache.

Also added m4 quotes [] to macro arguments as autoconf manual
suggests.
[configure] remove unused/broken autoconf cache variable ac_statedir

It wasn't used, and the code wasn't printing progress or the result in some
cases.  the test uses minimal resources, so it's probably better to not
cache so as to avoid inconsistencies if --with-prefix or directory variables
are changed between ./configure runs.