Switch to tags or shas instead of just shas

The problem with using the sha as the defining attribute used to determine
build artifact locations on the distribution server, is that we want to
separate out final tagged builds from the same builds prior to the tag, because
we version based off of data including the tag. Thus, tagged and untagged
packages make it into the same artifact directory with different versions and
no easy way to separate them. This commit updates everywhere we use the git sha
and replaces it with the use of the git sha OR the git tag, if the ref type of
HEAD is a tag. This allows us to separate out the builds. This commit also
updates the usage everywhere to use the build object instance variable we set
up but never used, and renames it more appropriately to @build.ref.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>