RESV: Ignore phase distribution for non-PRODUCERs

The WellsManager class handles INJECTORS by assigning a phase
distribution (W->ctrls[i]->distr) that coincides with the injected
fluid for the corresponding well (e.g., {1,0,0} for WATER injectors in
a three-phase WATER/OIL/GAS simulation).  This, however, meshes poorly
with the restriction that all phase components must be ONE in the case
of wells constrained by total reservoir volume flow targets (RESV)
that was introduced in commit b7d1634.

This change-set limits the restriction on phase distributions to
PRODUCERs only and is a tentative solution to GitHub PR #360.
assemble_well_contrib(): Fix misprint in comment.
Merge pull request #396 from bska/resv-injectors

Tentative solution to problem of RESV injectors in `ifs_tpfa.c`
Merge branch 'master' into devel
Polish implementation of IMPORT keyword

Specifically, this change-set:
  - Switches to storing the 'ecl_file' pointer returned from
    ecl_file_open() in a std::shared_ptr<> to automatically manage
    the resource.

  - Objects that can be 'const' now are.

  - Uses a less "branch-y" implementation of keyword data
    extraction.

  - Uses the return value from std::map<>::operator[] directly
    rather than intermediate objects to hold the keyword data.

  - Moves the !HAVE_ERT case first because the implementation is
    small in this case, and easy to miss on first read.
Enforce autonomy of "EclipseGridParser.hpp" header

This moves the <opm/core/...> headers first to follow common style
of the rest of the code base.  While doing so, also sort the list of
standard includes and #include <string> because that facility is
(heavily) used but was previously introduced only indirectly.