Encode formula revision in installation prefix

In order to allow kegs built with the same version but differing formula
revisions to coexist, we must encode the revision as part of the keg's
name. This is necessary to actually perform an upgrade, as we cannot
upgrade a keg in-place, and temporarily moving it pending the result of
the upgrade is error-prone and potentially slow.

To accomplish this, we introduce a new Formula#pkg_version method that
concatenates the active_spec version, the formula revision, and the
bottle revision (if applicable). An exception is made for a formula that
has no revision: the tag is omitted. This preserves compatibility with
existing installations.
Teach outdated and upgrade to consider formula revisions