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