Add new bottle tags

This PR adds new bottle tag types, which allows for a single bottle to support multiple platforms. The current version adds two new kinds: `_or_later` tags, which match multiple Intel OS versions (e.g. `:snow_leopard_or_later`); and PPC altivec tags, which match all altivec-capable CPUs on an OS (e.g. `:tiger_altivec` matches `:tiger_g4`, `:tiger_g5`).

To support this, bottles have gained a new BottleCollector class which takes care of the more advanced matching logic.

Ping @mikemcquaid