Basic waf template

This provides a basic template for a C++ waf project.  It includes
separate directories for public header files, source files for the
main library, and test cases.
Allow projects to override test directories

This patch updates the test target to allow projects to override which
directories get included when the user runs “waf test”.  The default
is to add a top-level “tests” directory, but you can replace the
definition of add_test_dirs() to change this behavior.
Don't compile tests by default

This patch fixes the Waf scripts to only compile the tests
subdirectory as part of the “build_tests” and “test” targets.
Strict aliasing can be disabled

This patch adds a command-line option to the C++ Waf template that
allows the user to disable strict aliasing.  Currently, GCC 4.4
contains some spurious strict aliasing warnings, which this option can
suppress.  It's important to test each package without this option
wherever possible, since we do want our code to follow the strict
aliasing rules.
C template

This is a waf template for C projects.  By default, it assumes the
project uses the glib library, and that it needs the check library for
unit tests.
Upgrading waf to 1.5.18 (8760)

This contains a fix for issue 706 [1], which was causing our test cases
to fail when they generated to much output on stdout or stderr.

[1] http://code.google.com/p/waf/issues/detail?id=706
Fix library install_name on Mac OS X

On Mac OS X, each shared library has an “install_name” property that
should be set to the absolute path of the library's installation
location, since this is how OS X find libraries at launch time.  In
waf, this is easy enough — just include the “osx” tool into your
wscript.

Unfortunately, this breaks waf unit testing [1], since you can longer
run the test executables directly from the build directory.  Normally,
the test framework sets DYLD_LIBRARY_PATH so that the test executables
find the newly compiled libraries in the build directory.  However,
the install path includes the full three-digit vnum of the shared
library, while the file produced in the build directory doesn't.  (At
install time, the no-vnum file is renamed into the with-vnum file.)

In the waf bug [1], we've submitted a patch that fixes this, which is
included in a new waf script in this project template.  It creates an
additional symlink in the build directory that contains the
three-digit vnum, so that the test executables can find their
libraries.

[1] http://code.google.com/p/waf/issues/detail?id=721
Adding default INSTALL file
Add required “top” and “out” Waf variables
Always look for libcheck

Before, we only looked for the libcheck library in our test wscript
file, since the main libraries and programs don't link with it.
Unfortunately, the test directory isn't included unless the user is
running "waf build_tests" or "waf test".  It doesn't get included
for "waf configure".  That causes link errors when building our tests.
By looking for libcheck in the src directory, too -- even though it's
never used there -- we ensure that it's available for the test
directory.
Switching to CMake for build system

This patch switches our C template over to use CMake as the default
build system, instead of waf.
CMake target to generate Doxygen documentation
Using Sphinx instead of Doxygen for dox
New styles for Sphinx documentation
Custom name for docco CSS style
Grab version for Sphinx documentation from git
Cleaner conf.py
Default intro blurb and contents heading
Adding default index reference link
CMake magic for finding local intersphinx docs