Support RPM virtual packages

Virtual packages can be used to add dependencies on specific libraries,
make a dependency architecture specific, and much more.
Merge pull request #315 from cottsay/rpm-provides

Support RPM virtual packages