As of QEMU 1.2 libvirt is supposed to stop parsing -help and instead
use various QMP commands to detect capabilities. Before we can do this,
the current QEMU capabilities code needs a serious cleanup and some
refactoring. This series does that major preparation work.
Currently we consider "capabilities" to just refer to flags we detect
from -help. This series expands to cover all the things we detect
from QEMU, specifically including machine types, CPU definitions
and architecture. It introduces a single object to track all this
data and a centralized caching mechanism so we never re-query data
we already have somewhere.