Add support for branch-specific badges

This PR adds support for serving branch-specific badges. This is very useful if you have jobs building multiple branches.

Currently I've only added support for Git. I'm new to Jenkins plugin development but I didn't find a SCM agnostic way to determine the branch name of a build. Please correct me if I'm wrong.

I've also introduced a `AbstractBadgeAction` class to share common functionality between the `BadgeAction` and `PublicBadgeAction` classes.

Please let me know if this is something you're interested in merging. I would love to get your feedback.
 I don't know exactly how Jenkins handles this, but the dependency on the Git plugin is [marked optional](https://github.com/jenkinsci/embeddable-build-status-plugin/pull/10/files#diff-600376dffeb79835ede4a0b285078036R43). AFAIK import statements are only resolves at compile, while at runtime classes are only loaded once you access them. Because the code that accesses Git plugin classes is guarded with that `Jenkins.getInstance().getPlugin("git") == null` statement there shouldn't be a problem.

See https://wiki.jenkins-ci.org/display/JENKINS/Dependencies+among+plugins for more information.