perf(Request): Use partition in lieu of split

In the range property, use string.partition instead of string.split, since
the latter executes slightly faster. Also improve error handling of invalid
range specifications.
Merge pull request #353 from kgriffs/perf

perf(Request): Use partition in lieu of split