Show Git revision IDs in pre-release versions

A new Cabal flag `release` is added, and is off by default.

When the flag is on, version strings show the version from
idris.cabal. When the flag is off, version strings are given a
prerelease suffix. If the build system can determine the short Git hash
for HEAD, then this is the suffix. If it cannot, then the suffix is a
generic "-PRE" suffix.