This extracts the hash of the commit associated with each version

This is a much more reliable way of identifying exactly what version we are dealing with
(since tags can change).  This hash can then be used to identify if this particular version
has, for example, already been downloaded.

This closes #52.