add core logic for #80
add get_commits_unique_to_branch route; fixes #80
add tests for #80
tangential: handle potential KeyError in porcelain.routes._is_merged()