[bugfix] Initializes global_grid pointer of UnstructuredGrid

Previously access global_grid of the UnstructuredGrid returned by
c_grid() was erroneous. This patch fixes this by simply reseting the
pointer of UnstructuredGrid::global_cell to CpGrid::global_cell.
Note that we silently assume that the template parameter Grid is a
CpGrid!

Fixes issue #69
[bugfix] Fixes missing initialization of UnstructuredGrid::cartdims in GridAdapter.

UnstructuredGrid::cartdims was never initialized in GridAdapter. This
patch fixes this by copying the values from CpGrid::logicalCartesianSize().
Copy global_cell instead of casting.

By doing this there will be no lifetime interference between the
adapted CpGrid and the stored UnstructuredGrid.
Detect if cells are all active and set up UnstructuredGrid to reflect this.
Copy cartesian dimensions again.

This was accidentally removed in one of the last patches.
Cater case where grid is not a CpGrid.
Merge pull request #70 from blattms/fixes_global_cell_of_GridAdapter_c_grid

[bugfix] Initializes global_grid pointer of UnstructuredGrid
Use traditional "shrink-to-fit" idiom

This restores build with libstd++ debug mode (GCC 4.6).
Added access methods needed for fully implicite blackoil in opm-autodiff.

Namely:
- Access to begin iterator over the cells and faces.
- Access to the faces of a cell.
[CpGrid] Make the objects return by begin{Face,Cell}Centroid iterator over centroids.

This in line with the last changes to opm/core/refactor-for-cpgrid. The iterator returnd
now has the centroid (aka FieldVector<double,3>) as value type.
removed superfluous const from value type
Merge pull request #71 from bska/fix-shrink-to-fit

Use traditional "shrink-to-fit" idiom
Added function to query the number of faces.
Added required dependencies on opm-parser and CJSON
Set the boost version requirement to 1.44 - and added cJSON dependency
Removed explicit cJSON dependency from opm-core
Added CJSON_INCLUDE_DIRS to OPM_PARSER_INCLUDE_DIRS
Raised the opm-core boost dependency to 1.44 to reflect parser requirement
If given build tree as Eigen3 root, find source

Eigen3 is a template-library, so we must compile the source code
directly together with ours instead of linking to a library.

If the build script gives us the location of a "built" Eigen3,
meaning a directory in which CMake has been run, locate the true
source directory from the cache entries.
Search after new Eigen3 versions in sibling dirs

If we have checked out a newer Eigen3 directory in a sibling directory
to ours, assume that this is because the system version is obsolete and
that we want to use this one instead.