allow keywords to match regular expressions as their deck name

the RE used is specified via the "deck_name_regex" in the JSON file of
the respective keyword. A deck name is assumed to match a given parser
internal keyword if the deck name is valid and if it is either in the
list specified by the "deck_names" entry or if it matches the regular
expression.

This functionality is useful to implement the well probes for the
tracers as well as replacing the current "wild card keyword"
implementation which only allows a star as a suffix.
allow underscores in deck names and disallow sharps

underscores are used by a few of the summary specifier keywords
(e.g. BPR_X), but after closer inspection '#' symbols are not.
fix typo

the JSON name of DEPTH keyword was "DEPTHZ". since "DEPTH" is an
E100 keyword, this is most likely a mistake...
change the TVDP keywords to use regular expressions instead of wildcards
update the WELL_PROBE keywords
add FIELD_PROBE

i.e., the about a million keywords for which specify the field values
in the summary output.
add REGION_PROBE

which represents the approximately 500 thousand keywords to specify
the quantities the simulator is supposed to dump into the summary
section.
add CONNECTION_PROBE
add BLOCK_PROBE
add GROUP_PROBE
separate the internal keyword names and the deck names more clearly

so far, these two concepts were partially mingled in Opm::Parser...
make ParserKeyword::matches only return true if the deck keyword name is valid