Return the right commit range for pull requests

The compare URL for pull requests is just the pull request URL, so we can't extract the commit range from it, but the commit range is stored in the request for pull requests, so we can get it from there.

Fixes travis-ci/travis-ci#1719.
The behaviour for pushes and pull requests would indeed be different in this case, the concept of a "push" is not really as prevalent (at least not on Travis CI) for pull requests.

For regular pushes, the scenario you describe would create two builds. One would have `$TRAVIS_COMMIT_RANGE` be `A...C` and one would be `D...E`. In the case of a pull request one would be `A...C` and the second `A...E`.

We could probably do a better job of explaining this in the documentation.