Bug 1087630 - [Autolander] use integration branch, add tests

This is not perfect and we can make it better, but some feedback would be good if you guys have any. Here is a few things at a high-level of what's done here:

* Taskgraphs - Schedules tasksgraphs if the project contains a taskgraph.json. Will wait until a "finished" state to land. If there is no taskgraph.json, lands when the bug has checkin-needed and a review. 
* Integration Branch - Commits are applied to the integration branch. In the case of a taskgraph failure the integration branch is re-built and commits are re-played on top of it.
* Integration Tests - End-to-end integration tests have been implemented. Each test currently destroys and re-creates a test repo on github. Run tests using ```npm test```.

https://bugzilla.mozilla.org/show_bug.cgi?id=1087630
Hmm, yes probably. Seems edge-casey enough that I'm fine leaving it for now, but something we should figure out. E.g., I ask for two reviews, one gives me an R- and one an R+, what should autolander do? I'm tempted to land it anyway, as the user can add checkin-needed to trigger autolander, so the action is quite deliberate. In any case, I'll add a comment to this block so it's more clear in case someone reads this code again in the future.