Fix `Range` handling in \wcf\util\FileReader
- Disallow invalid Range: bytes=100 without a trailing hyphen.
- Disallow invalid Range: bytes=2-1 with start > end.
- Support valid Range: bytes=0-0 with end = 0.
- Support maximum offset > filesize as per RFC 7233:
A client can limit the number of bytes requested without knowing the
size of the selected representation. If the last-byte-pos value is
absent, or if the value is greater than or equal to the current
length of the representation data, the byte range is interpreted as
the remainder of the representation (i.e., the server replaces the
value of last-byte-pos with a value that is one less than the current
length of the selected representation).