Support for langRange facet

White space makes the diffs look bigger than they really are.  

DataTypeReasonerImpl changes are all on or around  getDataRange.

RestrictedTextDataType changes are concentrated in applying facet, contains, and intersect, plus an extra constructor parameter and field.   git diff -w shows the changes.