Restructure tests directory to unit tests

Every program that relies on manual inspection has been moved to a new
(hopefully short-lived) directory called not-unit/; every remaining
file has been given the prefix test_ to indicate that this is the
executable test to be run.
Only build proper unit tests

People are encouraged to convert the tests in not-unit/ to proper unit
tests and move them back into the parent tests/ directory; they will
then be picked up by the testing framework automatically.
Use each unit test program as a CTest test

The name of the test is taken from the stem of the file; if two tests
have the same name in different directories, the makefiles will get
confused, so don't do that.
Run unit tests when doing `make check'
Enable CDash testing

Configure everything using CMake and run 'ctest -D Experimental'
inside the build directory. If you want to participate in the nightly
testing, add

	#!/bin/sh
	cd $BUILD_DIR
	exec ctest -D Nightly

to /etc/cron.daily/opm-core. The results can then be browsed at

<http://opm-project.org/CDash/index.php?project=opm-core>
Enable opt-out of precompiled headers

Some versions of the compiler are buggy, and will actually crash if
precompiled headers are used. This option enable disabling the feature
and building without by simply setting a command-line option.
Module to prune unnecessary libraries from link

On Linux all libraries that are specified on the command-line will be
referred to in the resulting binary. There may be find modules which
just adds everything to satisfy every possible dependency; we want to
discard those unnecessary libraries.
Use only necessary libraries
Enable printing of compiler command-lines
Build tutorials through Makefile

Newcomers may want to step through the tutorials in the debugger without
creating a new project specifically for them; this enables them to do so
through the regular build system.

To see how a program is linked with the library, just execute

    make tutorials VERBOSE=1