Fix incorrect suffix stripping from CPP filenames; include C files as possible sources of test targets.
Allow custom test command and arguments for automatically generated tests, with a view to supporting MPI tests.
Documenting CommonCPPCTest addition
added FindSLURM.cmake
Add test labels automatically in CommonCPPCTest

Set the test labels on the generated tests according to the value of the
variable TEST_LABEL and optionally an additional ${NAME}_TEST_LABEL
variable. If both variables are defined, both labels are added.
Allow CommonCPPCTest in multiple directories
Allow building both shared and static libs in one make.

One can now set ${NAME}_LIBRARY_TYPE to a list containing both SHARED
and STATIC for common_library(), which will then build both. The first
entry corresponds to the library that will be associated with the
target ${NAME}; the second entry <TYPE> will be associated with the
target ${NAME}_<TYPE>.

Examples:

1. Original behaviour:

set(FOO_LIBRARY_TYPE SHARED)
common_library(foo)

Builds shared library libfoo.so only; target_link_libraries(target foo)
will link target with libfoo.so.

2. New behaviour:

set(FOO_LIBRARY_TYPE SHARED STATIC)
common_library(foo)

Builds both libfoo.so and libfoo.a; target_link_libraries(target foo)
will link against libfoo.so since 'SHARED' is first in the list. To link
explicitly against the static lib, use target_link_libraries(target foo_STATIC).
Improve defines.h