Providing `publish-versioned` for versioned publishing

DISCLAIMER: Solution based upon Rogach's self-accepted StackOverflow
answer here: http://stackoverflow.com/questions/14262798/how-to-change-a-version-setting-inside-a-single-sbt-command

The previous method of determining the version number for a published
artifact was insufficient.  We had said that it would be alright to
"just remember to `reload` before each publish", but... it's not.  It
could have been, if `version` were determined lazily by SBT, but, since
it's not, you can load up SBT with Git at <SHA X>, make changes in Git
to end up at <SHA Y>, publish, and have an artifact go up with <SHA X>,
which endangers the whole point of the "let's have reproducible builds"
thing we're going for.  I mean... they'd be reproducible, but they'd
also be confusing as all hell at times (which is the problem that
having versioned, reproducible builds is supposed to solve).

People _will_ forget to run `reload`—often, I bet—and we can't have them
breaking things when they do that.  If `version` were lazy, the first
attempt to publish would go up with the proper SHA, and subsequent
attempts would be rejected by BinTray, due to being duplicates (in
name).  However, when `version` is eagerly evaluated, there's no
guarantee that an artifact already exists with that (possibly stale)
version number, so artifacts with false version numbers are then all too
possible.

Instead, I aim to supply a better alternative to that scenario of
nightmares—not something perfect, but something sufficiently good.
Editing the `publish` task seems somewhat impractical, so I've added the
`publish-versioned` command here, which runs `publish` with `version`
dynamically set to the version number that we want.  It's not very
scalable (i.e. `package` spits out a '.jar' with the wrong name), but it
ought to be good enough for what we need.

I remain open to better suggestions.
Commentary tune-up