Add Facility for Accessing Active Subset of Global Data Array

This change-set introduces a fairly general mechanism for accessing the active subset of a global grid (property) array.  Essentially, this takes on the role of translating the active cell index through the `global_cell` mapping when accessing, e.g., the net-to-gross data value.
    
The primary component is class template
```
Opm::GridPropertyAccess::Compressed<DataArray,Tag>
```
which implements a read-only
```
value_type operator[](const int c)
```
that encapsulates and performs the compressed-to-global cell index translation.  The class understands that `global_cell==0` implies "all cells active". Template parameter `DataArray` is intended as a policy parameter that for instance wraps access to a [`GridProperty<T>`](https://github.com/OPM/opm-parser/blob/master/opm/parser/eclipse/EclipseState/Grid/GridProperty.hpp) from module opm-parser (with a fall-back default value if the data is not specified on input).  The `Tag` parameter is a provision for type safety--e.g., to prevent passing a region ID into a function that requires a  porosity value.

While here, also heed @atgeirr's [remark](https://github.com/OPM/opm-core/pull/635#issuecomment-53484088) on the opacity of the `permeability_[]` assignment index expression and add a commont on why it's written that way.
I think it would be very useful to have an additional ArrayPolicy, that allows me to use the Compressed template with std::vector objects for example. Or is it crafted in such a way that I can use such containers directly?