Encode formula revision in installation prefix

In order to allow kegs built with the same version but differing
formula revisions, we must encode the revision as part of the keg's
name. This is necessary to actually *do* the 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 tack the revision onto the end of the standard
keg name, preceded by an underscore (e.g. "1.0_1"). Keg#version learns
to parse this format, and stores the revision as an attribute that can
be accessed independently.

An exception is made for a formula that has no revision: the tag is
omitted. This preserves compatibility with existing kegs.