Revert "Not needed in dune-grid-2.3.0 (Issue #58)"

This reverts commit f98d90cb8872ba794d6822d31bd0c1a6adda5baf.

Reverting to dune 2.2.1. Hence this is still needed.
Reverted to using Dune 2.2.1

Dune is now built via autotools. The libraries are found via pkg-config.
Library subdirectory now compiles
Adding patch to Trilinos download

Trilinos is now installed by default.
environment variables are now set in PackageLookup

The function add_to_envvar probably should go into some utility.cmake file at some point.
Adding ctest framework and CMakeLists cleanup

Unified calls to include_directories. Mostly all in dependencies file.
Unified calls to target_link_libraries and such as well.
Moved to using GreatCMakeCookoff

Outsources some of the less bem++ specific cmake recipes.
Updated numpy.i version to numpy 1.8

However, it will require some work to remove the ugly array_* defines that are in there. These
macros clash with boost functions. At this stage, numpy.i is exactly as in numpy. It will be
modified in subsequent commits.
Removing badly named macros from numpy.i

These macros conflict with stuff in boost::range.
The following changes have been implemented:

- The `is_array` macro is changed to `swig_is_array`
- The `array_*` macro are changed to `swig_array_*`
- `NPY_ARRAY_F_CONTIGUOUS` is defined from `NPY_FORTRAN` for numpy < 1.7

These changes are cascaded into bem++ files proper.
Missing include of implementation file
Incorrect include guard