Indicate failure to find header with blank string

Use empty string instead of zero, so it can be tested with #ifdef as
well as #if in the C++ source code.
Indicate failure to find header with blank string

Use empty string instead of zero, so it can be tested with #ifdef as
well as #if in the C++ source code.
Prepend source directory to include path

If the dependencies have files with relative paths that are ambigious
to our own, we want our version to be the first candidate for inclusion.
This is a variant of the reason for why we always include the build
directory first (and still does).
Don't search system directories when path given

If the user has given a path to the module, then the system paths should
not be searched, as these may contain an old and outdated version. We
don't necessarily want that just because there was a problem with our
own installation!
Use empty string instead of zero to indicate not found

When writing the variable HAVE_SUPERLU to the config.h file, an empty
string will be interpreted as "not defined". Thus, we can use both
if and ifdef preprocessor directives to check for it. If we use zero,
then we must be careful to always use if, never ifdef.
Don't search in system dir if explicit dir given

If we give an explicit directory path it is because we want a special
version to be used instead of the system version; if there is any
problems with that, we should know up-front instead of silently start
using the system version again!
Use heuristics when finding rather than adjusting path

Commit b6cdc06b introduced heuristics to look in the parent directory
for header files alone, while leaving the path for binary files. This
is much better than adjusting the path because one does not potentially
confuse two build directories this way.
Search siblings before system directories

If there is a sibling directory with the name of the module we are
searching for, it is probably part of the same suite, and is the
version we intend to use, before the system version.

This behaviour can be altered with the option SIBLING_SEARCH.

Note, however, that if the sibling is a source tree, it cannot guess
which subdir the build tree is in. You will then probably end up
with headers from the sibling and libraries from the system!
Search in build directories named similarly to ours

Assume that a build that uses an out-of-source subdir, uses modules
with the same last component as ours.
Merge pull request #41 from rolk/041_rollup

CMake rollup