New range index: add support for time and date types, regex matches

Improving new range index:

* support for time, data and dateTime: time and date are converted to long for best performance, dateTime is normalized and indexed as string
* regular expressions: Lucene's regex syntax is limited and does not implement all features required by fn:matches. We thus provide a separate function range:matches to avoid confusion.
* extended test suite to cover dates, matches, whitespace handling