EclipseWriter: use opm-parser's EclipseGrid class

this unifies the grid creation code paths with the one used by the
simulators and simplfies things.
EclipseWriter: stop making UnstructuredGrid think it is special

instead, the same interface as for Dune::CpGrid is now
used. (i.e. pass all relevant information as separate arguments.)
EclipseWriter: introduce namespace EclipseWriterDetails

it is for -- well -- the implementation details of EclipseWriter...
remove the "Eclipse" prefix from all classes in namespace "EclipseWriterDetails"

this have become become superfluous by the namespace...
Build system: mark ERT as REQUIRED

de facto, this does not change anything because opm-parser is required
and it has a hard dependency on ERT. It is good style to declare all
prerequisites explicitly in each module, though. Thanks to [at]bska
for the catch.
EclipseWriter: Remove the non-ERT codepaths

ERT has been a requirement for opm-parser for a while now and
opm-parser is a prerequisite of opm-core, so ERT is always
available. Thus remove the stub code to avoid bitrot...
EclipseWriter: avoid "using namespace Foo" in compile-unit scope
EclipseWriter: rename some variables and functions to make the naming scheme consistent
EclipseWriter: get rid of the EclipseHandle monster

instead, the wrapper classes now call ERT directly, so it's easy to
see what a given class does. interestingly the amount of additional
code required is neglectible (or even negative).
EclipseWriter: remove some unused functions and refactor the code for Cartesian sizes
EclipseWriter: Store the Cartesian sizes internally

because it this array can be deleted after calling the
constructor. TODO (?): Do the same for the compressed-to-Cartesian
cell index map.
EclipseWriter: make it not crash if no wells are present
EclipseWriter: some minor white space changes
EclipseWriter: add unit test
EclipseWriter: Use opm-parser's Opm::EclipseGrid class to write the EGRID file

this simplifies things quite a bit and allows us to get rid of the
Opm::EclipseWriterDetails::Grid class...
EclipseWriter: pass an EclipseState to it and use it where possible
output the cells which the simulator classes consider active

copying the EclipseGrid object is required as the final set of active
cells requires knowledge of the grid used by the simulator which is
not available in opm-parser. In turn, this requires to call
EclipseGrid::resetACTNUM() which is non-const.
EclipseWriter: Don't use the deck directly anymore

instead, use Opm::EclipseState. This requires to pass the PhaseUsage
object to the EclipseWriter, as this one cannot be recovered from
EclipseState (yet?).
Merge pull request #560 from andlaus/EclipseWriter_remove_EclipseHandle

Eclipse writer remove eclipse handle