Refactor for cpgrid support

This patch refactors (hopefully) all parts of opm-core that are needed by the fully implicite black oil solver in opm-autodiff and that inherently relied on UnstructuredGrid.
    
We added a new simple grid interface consisting out of free functions (see opm/core/grid/GridHelpers.hp) that will allow us to use CpGrid without copying it to an UnstructuredGrid by the means of the GridAdapter. Using this interface we have add methods that allow specifying the grid information (global_cell, cartdims, etc.) wherever possible to prevent introducing template parameters for the type of the grid. Unfortunately this was not possible everywhere.