Parse an HTTP Range: bytes=... header. Support multiple ranges.
solve('bytes=0-499', 1000) → [{ start: 0, end: 499 }].solve('bytes=500-', 1000) → [{ start: 500, end: 999 }].solve('bytes=-200', 1000) → [{ start: 800, end: 999 }] (last 200 bytes).solve('bytes=0-99,200-299', 1000) → two ranges.
Invalid header → null.
Sample tests