Extracts the full compiler path and feeds it to cmake.

Previously, specifying the compiler name with a variable
to configure ("configure CC=gcc") lead to CMake complaining
that <builddir>/$CC was not a valid path. This patch fixes
this by extracting the full path with "which <compiler>".
Should fix issue #355.
C++-11 Features: add test for std::is_integral
Merge pull request #357 from andlaus/test_std_is_integral

C++-11 Features: add test for std::is_integral
substituted which with command -v.
Change which test for cmake28 to use command -v.
include iostream in the files which use std::cerr or std::cout

for some of these files this is needed to make to keep it compiling
after the next patch because the new ErrorMacros.hpp file will no
longer implicitly includes <iostream>. for the remaining files it is
just good style.

While at it, the includes for most of these files have been ordered in
order of decreasing abstraction level.
replace BOOST_STATIC_ASSERT by C++-2011's static_assert
Replace boost::is_integral by std::is_integral
refactor the exception throwing code
Add a file with OPM specific exceptions
convert THROW to OPM_THROW
convert users of the ASSERT and the ASSERT2 macros to standard assert()
convert users of MESSAGE to OPM_MESSAGE
ErrorMacros: remove compatibility macros
catch all exceptions in all tutorials and examples
Document Cartesian info fields for unstructured grids

The previous text contained an ambiguity of the contents of the field
global_cell in case it was non-null; this could be interpreted as if
the grid was non-Cartesian. However, this is not the convention that
has been followed in current clients.

The new text writes a warning about this, as well as giving a tip on
how an unstructured grid may be signaled through the structure (the
cartdims field is zero-initialized in the create_empty_grid function,
so this array must be actively initialized by the client).
Merge pull request #359 from rolk/359_cart

Document Cartesian info fields for unstructured grids
fix the SparseVector and SparseTable unit tests

also, throw std::logic_error in the OPM_ERROR_IF macro
Merge pull request #352 from andlaus/refactor_exception_classes

Refactor exception handling code
Merge remote-tracking branch 'upstream/master'