setup: move git updates to pkg_download

Move git updates to pkg_download.
setup: use git rev-parse to verify a commit

Use git rev-parse to verify a commit.
setup: call _pkg_info() from pkg_download()

Call _pkg_info() from pkg_download().
setup: rename PKG_HASH

Rename PKG_HASH.
setup: rename PKG_LOCAL_NAME to PKG_FILENAME

Rename PKG_LOCAL_NAME to PKG_FILENAME.
setup: allow packages to override PKG_FILENAME

Allow packages to override PKG_FILENAME.
setup: clean up PKG_SOURCE handling

Clean up PKG_SOURCE handling.
setup: fix the initial git clone in pkg_download()

Fix the initial git clone.
setup: rewrite _pkg_git_verify()

Rewrite _pkg_git_verify().
hammer.git: support pre-downloading source packages

Add "download" target to allow downloading all source packages before
the build.