Force delete

Adding support for `git branch -D` as a flag for Repository::deleteBranch and BranchCommand::delete.
This might be considered a weak test, as it's only verifying that the -D variant of the command deletes the branch, not that it deletes it in cases where the branch has commits which don't have other references.  However, creating the circumstances to test that seemed like a lot of trouble considering that the only extra thing we would be testing is essentially "Does git work properly?".  We are verifying that we are supplying the correct command to git in the BranchCommand test; I think it's reasonable to trust that git's functionality is solid.  If you disagree let me know and we can talk about the best way to test that -D is actually doing its job.