Implement dataRange

Signed-off-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>
Fix whitespace/comments handling, again

So apparently I misunderstood the OWL 2 functional syntax
whitespace/comment rules and assumed that the places where whitespace
and/or comments are required (between two terminals, neither of which
has a delimiter as the neighboring symbol) for the only places where
optional whitespace/comments were acceptable. Correct this mistake.

Signed-off-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>
Make .!> and <!. only require whitespace/coment or delimiter, not both

Signed-off-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>
Factor out Tag(…) structure into bracketed

A common pattern among OWL2 functional style syntax is a tag followed
by an expression enclosed in parentheses. Instead of parsing those
every time (and getting the whitespace requirements wrong), factor
this into a parser combinator.

Signed-off-by: Maximilian Marx <mmarx@wh2.tu-dresden.de>