make the PORV test work more reliably

this seems to be a compiler bug, but it could be something
else. Anyway, using multiple functions for the tests instead of nested
scopes is probably not the worst idea anyway...
EclipseState: don't use static vectors to specify supported grid properties

this fixes a really ugly and hard to find bug if EclipseState was
instanced multiple times: The EclipseState object passed to some of
these structures was destroyed, but the arrays stayed even if the next
EclipseState object was at a different location and also could use a
completely different grid...
fix the "only <double> can be queried for NaN" exceptions

seems like some compilers don't overwrite an inline method of a
template class with its specialization. A compiler warning would have
been nice to have in this case, though...
Merge pull request #332 from andlaus/fix_nan_exception

fix the "only <double> can be queried for NaN" exceptions
Merge pull request #331 from andlaus/fix_PORV_tests_v2

Fix PORV tests v2
A few missing "SWMAX" ... (confer issue #334)
add a JSON definition for endpoint specifier keywords
Handle quotes better

This allows to arbitrary characters like stars into strings. e.g.

MYKEYWORD
'123*456' 2*'Hello, World! (*)' /

is now a valid record with three strings while it threw an exception
before.

This patch works by transferring the removal of the quotes from the
RawDeck class to the readValueToken<T>() function which now has a
specialization for strings that deals with quotes. One small
complication is that the RawDeck needs to be adapted in order not to
split tokens in the middle of strings.

Finally, the StarToken class does not deal with the conversion from
string to the value type of the item anymore which allows it to become
a normal class instead of a template...
Parser: rename and split canParseKeyword to isRecognizedKeyword

which is more what the method does because the keyword can still
contain an error in its data which would make it non-parseable.

While at it, split the method into a "get keyword name from input
line" and "is a valid keyword name" part. (this will be needed later.)
RawKeyword: rename tryParseKeyword() to isKeywordPrefix()

because the method never tried to *parse* the data as a keyword but always
returned whether the *calling* code should try to parse it...
unknown keywords: use the line number of the raw keyword instead of the current one of the ParserState

in this context, the line number of the parser state object is the
location where the keyword is finished, while it is much more useful
to get the line where the keyword starts...
ParserLog: some minor additions

- the AllMessageTypes is not part of the MessageType enum anymore
- the getMessageType() now returns a MessageType enum instead of an integer.
- the clear() and append() methods have been added.
Merge pull request #338 from joakim-hove/PR-333-cherry-pick

Pr 333 cherry pick
Merge pull request #337 from andlaus/add_endpoint_specifiers

add a JSON definition for endpoint specifier keywords
Merge pull request #336 from osae/fix_smax

A few missing "SWMAX" ... (confer issue #334)
ParserDoubleItem: Fix typos in exception message
Merge pull request #341 from andlaus/fix_typos_in_error_message

ParserDoubleItem: Fix typos in exception message
Parser: rename the internal parseStream() method to parseState()

there is still the public variant of Parser::parseStream() which
parses an arbitrary std::istream. the name of the state-taking variant
was just confusing, IMO...
ParserState: make it possible to detect if initialization went wrong

this is required to get meaningful error messages if the file
specified by INCLUDE does not exist.
Merge pull request #348 from andlaus/ParserState_improve_construction_failure_detection

ParserState: make it possible to detect if initialization went wrong