Fixed an error code for Range value checking and an error with TimeSeekRange.range_duration calculation

The changes to HTTPByteSeekRequest to deal with open Range requests
 introduced a couple bugs. If the range start or end was greater than the
 size (when known), the constructor was throwing
 HTTPSeekRequestError.INVALID_RANGE instead of
 HTTPSeekRequestError.OUT_OF_RANGE. This caused the failure of a couple CTT
 tests.

On inspection of the logic in HTTPTimeSeekRequest, found an issue with
 the processing of an open range time-seek request. If the end was not
 specified and the total length is not known, it was still trying to
 calculate the range_duration. Changed this to only calculate
 range_duration when the total length is known.

Ran a variety of Range/TimeSeekRange requests to test the boundary logic.