getCubeDim: Support arbitrary number of dimensions

This commit generalises the implementation of utility function
'getCubeDim' to support arbitrary number of space dimensions.  In
actual practice there's no change in features as we only really use
a compile-time constant (= 3) to specify the number of space
dimensions.
createWellsFromSpecs: Use ref-to-const cart2active

This commit tightens the function header of method

    WellsManager::createWellsFromSpecs()

to accept a reference-to-const 'cartesian_to_compressed' map.  It
used to be a complete, copy-constructed object, so this is a slight
performance enhancement as we no longer need to copy a (somewhat)
large object on every call to the method.
createWellsFromSpecs: Assert three space dimensions

Method WellsManager::createWellsFromSpecs() is only supported in
three space dimensions.  Assert that we don't use anything else.
Adjust white-space for readability

This is mostly just splitting long lines and aligning parameters where
appropriate.  No functional changes.
Annotate namespace closing brace with namespace name
WellsManager: Support NTG and horizontal completions

This commit extends the feature set of the WellsManager to support
horizontal ("X" and "Y") completions and include the net-to-gross
ratio in the Peaceman index ("Completion Transmissibility Factor,
CTF") of a well completion.  The NTG factor is included if present
in the input deck represented by the "eclipseState".

There are two separate, though related, parts to this commit.  The
first part splits the calculation of Peaceman's "effective radius"
out to a separate utility function, effectiveRadius(), and
generalises WellsManagerDetail::computeWellIndex() to account for
arbitrary directions and NTG factors.  The second part uses
GridPropertyAccess::Compressed<> to extract the NTG vector from the
input if present while providing a fall-back value of 1.0 if no such
vector is available.

Note: We may wish to make the extraction policy configurable at some
point in the future.
Merge pull request #643 from bska/ctf-horizontal

Introduce Support for Horizontal Completions and Net-To-Gross Ratios
Use double braces for std::array init to avoid warning.

Warning triggered at least using clang.
Merge pull request #644 from atgeirr/fix-braces-warning

Use double braces for std::array init to avoid warning.
effectiveExtent: Fix out-of-bounds indexing

Commit 96cf137 introduced support for Peaceman index calculation
that honoured general completion directions (X,Y,Z).  This was
accomplished through a permutation index that reordered the
permeability and geometric extent components according to a local
coordinate system along the completion.

In a complete breakdown of logic, however, the d-component extent
vector was indexed as though it were a d-by-d matrix.  This commit
restores sanity to the processing.

Pointy hat: @bska.
Merge pull request #645 from bska/fix-out-of-bounds-indexing

effectiveExtent: Fix out-of-bounds indexing