* Return chunk even if range is greater than filesize
* Allow range.start or range.end to not be defined
Examples:
bytes=-300
bytes=300-
bytes=-300- (negative start)
* Make expression lazy instead of greedy
Fix CodeQL "Polynomial regular expression used on uncontrolled data"
* Improve checks readability
* Show proper range in case of failure
* Fix compare falsy values vs zero values
* replace regex
* Handle range validation in a single place
* Clean validation
* Use range object for exception
* Resolve range undefined check
* Prefer strict equality checks
* Cleanup
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>