Add the new github_pullrequests.py utility

This script is a utility aimed at making it easy to test open pull
requests against a given GitHub repository. Essentially it's just a
wrapper around the 'buildbot try' or 'buildbot sendchange' commands.
This script interfaces with GitHub's API to query open pull requests
against the specified project, formulates a 'buildbot' command to test
the specified pull request, and then fires off a subprocess to run the
'buildbot' command. The following are a few example ways to use this
tool:

    #
    # To kick off a 'buildbot try' for pull request #2217 against the
    # "zfsonlinux/zfs" project using the buildmaster on localhost
    #
    $ ./github_pullrequests.py --try
                               --username alice
                               --password pw1
                               --master localhost:8031
                               --project zfsonlinux/zfs
                               --pullrequest 2227

This will download a single "diff" from GitHub of the whole pull request
(a single diff even if there are multiple commit) and uses this to
execute a single 'buildbot try' request. If the intention is to create a
new request for each individual commit in a pull request, the
"--sendchange" is geared towards that.

    #
    # To kick off a 'buildbot sendchange' for pull request #2217 against
    # the "zfsonlinux/zfs" project using the buildmaster on localhost
    #
    $ ./github_pullrequests.py --sendchange
                               --username change
                               --password changepw
                               --master localhost:9989
                               --project zfsonlinux/zfs
                               --pullrequest 2227

This will create a unique 'buildbot sendchange' request for every commit
in the pull request. This does not necessarily mean it will result in a
single build, however. The buildmaster _may_ then merge these requests
into a single build (please see the buildmaster's 'mergeRequest' option
for more details).

Please see the official BuildBot documentation to properly configure a
buildmaster for use with the 'buildbot try' and 'buildbot sendchange'
commands.

Signed-off-by: Prakash Surya <surya1@llnl.gov>