Remove TinyXML from list of headers to be installed
Disable ccache by default

We do dependency management the right way; there should be no need to
use ccache on top of this. Actually, it will just hurt performance to
do so without any win.
Don't print directory trail

We don't need this since we don't use a recursive make scheme. It just
adds to the output due to our extra level of (make) indirection.
Module to precompile headers

This CMake module will set up a target for compiling a set of headers
which can then be added to compilation modules to speed up compilation.

A separate target is created because the function doesn't know all the
sources of a target, and to reuse the precompiled header across several
targets that share the same characteristics (such as unit tests).
Use precompiled headers to compile C++ modules

On an average system this will cut around 15% of the total build time.
Unfortunately, including Boost headers in the precompiled header takes
longer time to generate and then read in each module, than just
including the necessary headers in each module.

Use Noel Llopis' list_precomp.py at
http://www.gamesfromwithin.com/wp-content/uploads/bin/list_precomp_py.txt
to analyse which headers are included the most and are candidates for
inclusion.
Bugfix missing slash in installation path

This slash went missing when custom string manipulation was replaced
with simple call to relative path command.
Create DUNE module file from CMake properties

That will save us from keeping the files in sync manually.
Revert version numbering to ABI-style

Version numbers for the library is independent of the ones for releases.
If the interface breaks, we change the soversion, regardless of the
timing of the releases.