Why:
Incorrect range handling cases causes s3manager downloads to fail.
* When end extends beyond available data it should return data from
"start" to the end of the available data. Currently it returns
invalid range error.
From RFC-7233:
> If the last-byte-pos 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).
* A "-0" suffix byte range is "not satisfiable" according to RFC and
should return an invalid range error. Currently it just returns an
empty data set.
Also from RFC-7233:
> If a valid byte-range-set includes ... or at least one
> suffix-byte-range-spec with a non-zero suffix-length, then the
> byte-range-set is satisfiable. Otherwise, the byte-range-set is
> unsatisfiable.