add most of the keywords required to parse decks used by the IRIS history matching codes

this basically comes down to adding a few flag keywords but also
requires to add a few E300 fields to TABDIMS...

the grid cannot be instantiated yet as these deck seem to use some
peculiar constructs to specify the grid data. In particular it uses
property modifiers for keywords that specify the grid. (which might be
not allowed by Eclipse but work anyway...) the deck contains something
like

```
GRID

EQUALS
DX  50.0 /
DY  50.0 /
DZ  50.0 /
/
```

which Opm::EclipseGrid can't handle yet because grid properties are only
evaluated after the grid has been instantiated...
Merge pull request #313 from andlaus/add_more_keywords

add most of the keywords required to parse decks used by the IRIS history matching codes
New MULTREGT test based on copy FLUXNUM -> MULTNUM
Merge pull request #315 from joakim-hove/MULTREGT-MULTNUM

New MULTREGT test based on copy FLUXNUM -> MULTNUM
ParserLog: print messages to a stream

If no ParserLog object is provided, stdout is used by default. The
stream can also be used to write to a logfile or it can be omitted
entirely. thanks to [at] joakim-hove for insisting on it...
Merge pull request #310 from andlaus/improve_logging

Improve logging
Added static_cast<long long> before calling std::to_string()
Added LogParser argument.
Merge pull request #316 from joakim-hove/log-fixup

Log fixup
JSON keyword definitions: add a "sections" item

this which specifies the allowed sections of the keyword. (surprise!)
ParserKeyword: add the glue code so that it knows its sections

also tighten the checkSectionTopology() test of Opm::Section.
Extend deck grooming functions to detect keywords which are in invalid sections