Fix decOctet implementation

Some alternatives for the decOctet production in RFC 3987 were
commented out due to type errors. Correct those errors and remove the
comments.
Fix fullIRI parser

OWL2 specifies that “<#comment>” should be parsed as a “full IRI,”
where a full IRI is “an IRI as defined in [RFC3987].” Since an IRI in
RFC 3987 always requires a non-empty scheme part, this implies that
fullIRI is actually an IRI-reference, i.e. an IRI or an irelative-ref.

Implement the needed parts of RFC 3987, and change fullIRI to parse an
iriReference instead.
Implement proper whitespace/comment handling

In OWL2 functional-style syntax, whitespace and comments are skipped
only after matching nonterminals, and only if neither the last character
of the matched text nor the next character to come is a delimiter.

Add maybeSkip, which skips whitespace and comments if the next
character is not a delimiter, and replace the use of .>> and <<. by
proper sequencing and calling maybeSkip at the apropriate
moments (i.e. not after matching a delimiter).