Hardware: separate out CPU methods into CPU module

This is a stab at trying to refactor the Hardware module to a) separate out CPU stuff into a CPU module (...which turns out to have been all of Hardware) and b) make Hardware less Mac-specific in its generic version. (It actually started out with combining `Hardware.ppc_family` and `Hardware.intel_family` in tigerbrew and snowballed from there.)

The main changes:

* CPU functions now exist in Hardware::CPU
* Added compatibility functions in compat/hardware_compat.rb
* Renamed `Hardware.intel_family` to `Hardware::CPU.family` to better accommodate non-x86 CPUs
* Added PowerPC processors to `Hardware::CPU.family`
* Added PowerPC flags to ENV
* New helper methods on CPU, like `.sse4?` and `.altivec?`

Including the PowerPC stuff in homebrew would make downstream maintenance in tigerbrew a little easier, and shouldn't affect anything in homebrew itself.