Add pull request info to Build model

* add `commit_sha` and `pull_request_number` attibutes
* extract stub helpers in pull_request_spec
* dry up tests
I think this setup is too expensive to be split across multiple tests. Since these expectations are all logically grouped -- they all should pass in order for the execution to work correctly -- I think it's fine for it to be in one test.