Globally include compiler.h before all system header #includes.

compiler.h will soon be responsible for setting feature test macros
required by system headers and so needs to appear before them in
all source files.  The simplest way of ensuring this is to have the

Amends: r2693

git-svn-id: svn://daper.net/moc/trunk@2711 910807d9-36e0-0310-a014-e9ea483e2ba4
Move DEBUG macro setting to fall between the system and user headers.

DEBUG will soon be observed by more user headers and so needs to
always preceed them.  It's also useful to have it positioned
consistantly.

git-svn-id: svn://daper.net/moc/trunk@2712 910807d9-36e0-0310-a014-e9ea483e2ba4
Clean up the positioning and use of the ATTR_UNUSED macro.

git-svn-id: svn://daper.net/moc/trunk@2713 910807d9-36e0-0310-a014-e9ea483e2ba4
Introduce the more specific ASSERT_ONLY macro.

This macro should now be used whenever a variable or parameter is
used within an assert() but nowhere else in the function (subject
to conditional compilation).

git-svn-id: svn://daper.net/moc/trunk@2714 910807d9-36e0-0310-a014-e9ea483e2ba4
Introduce configuration-specific unused macros.

These macros should now be used to flag variables or parameters which
are only used in the presence of specific configured features.

git-svn-id: svn://daper.net/moc/trunk@2715 910807d9-36e0-0310-a014-e9ea483e2ba4
Change names for variables or parameters which are truely unused.

git-svn-id: svn://daper.net/moc/trunk@2716 910807d9-36e0-0310-a014-e9ea483e2ba4
Remove fake_logit().

When MOC is built without logging support, this avoids the overhead
of needless function calls and removes the unused strings from the
memory footprint which reduces it by about 200KiB.

git-svn-id: svn://daper.net/moc/trunk@2717 910807d9-36e0-0310-a014-e9ea483e2ba4
Remove signal-logging call overhead when logging is not enabled.

git-svn-id: svn://daper.net/moc/trunk@2718 910807d9-36e0-0310-a014-e9ea483e2ba4
Turn off redundant code when built without logging enabled.

git-svn-id: svn://daper.net/moc/trunk@2719 910807d9-36e0-0310-a014-e9ea483e2ba4
Introduce in-memory circular logging buffer.

git-svn-id: svn://daper.net/moc/trunk@2720 910807d9-36e0-0310-a014-e9ea483e2ba4