Package slugs

The new `package_slug` variable is used to give a unique name to each
place that we learn about a package from.  This is used to construct the
work directory for a particular package.  This ensures that if we try to
build a package from two different places (e.g., from a git clone
managed by Buzzy, or from a working copy that belongs to the user), we
end up with different work directories.