Versioning for Google App Engine deployments

When using Grunt, Google App Engine deployments will have their versions
automatically set to the either the tag, branch name, or hash (in that
order) using the output of `git describe --all --always --exact-match`.

This name is normalized to make it friendly with GAE version strings by
replacing all non-alphanumeric characters with hyphens.