Build cleanup

This is a set of commits that clean up the sbt build a bit.

The biggest advantages are that with this changeset, the
build won't fail when you aren't on a git branch.

Note that this changeset moves to using jgit to determine
the current branch, since calling out to the shell is not a
cross-platform solution (e.g. sed works differently on
OS X than it does on Linux and is unlikely to exist on
Windows).

Also note that it updates sbt-pgp to 0.8, which does
not publish signed artifacts by default (you have to run
publish-signed).