Pull Requests

Summary: This PR adds basic pull request functionality through Elodin -- you can specify a target branch and are prompted to describe the PR using a template. Validations and side checks (pushing unpushed commits, etc.) are not yet implemented but will come in a follow-up diff.

Test Plan: dogfood!

Reviewer:
  @baroo please
  @gnarmis please

# NEW PULL REQUEST
# Describe the changes in this new PR.
#
# Included commits between branch pull-request-command and master:
#
#    8bc20aa Get it working
#    489347c Gemify elodin
#    c50308b Add/integrate PullRequest
#    bba2144 Add CommitMessage/spec
#    4b14505 Namespace classes
#    4c924e3 Add MessageValidator/spec
#    58bc9bb Add MessageWriter
#    9466c82 Add GitBranch.differences
#    563c67c Separate GitBranch, add spec
#    796fa80 Add initial rough draft