Repositories

This patch adds an interface for “repositories”, which are collections
of package definitions and any other related objects.  The most common
repository will come from looking for a `.buzzy` subdirectory somewhere
near the current working directory; this is how you build a package from
within its source checkout, presuming that the source tree includes a
Buzzy package definition.  Other repositories will come from “links”
defined in this default repository.
Hide phases with no actions

The `bz_action_phase_perform` function now takes in a flags parameter
that lets you control how it works.  The new `BZ_ACTION_HIDE_NOOP` flag
will cause us to not print out any messages if there aren't any actions
to perform in the phase.  Without this flag, we'll print out the header
message and a "Nothing to do" message.