Refactor cert directory objects.

For some upcoming changes, ideally it would be nice to abstract the concept of
directory methods (tied to a path) from certificate directory methods
(searching various certificates), which will soon not be tied to any path and
actually coming from multiple sources.

Split CertificateDirectory out of the class hierarchy and use on
product/entitlement directories via multiple inheritance.
1123029: Add ProductAggregator and default product certs.

RPMs will soon be shipping with default product certs which drop into
/etc/pki/product-default. If we encounter a situation where we have a default
certificate for a product ID, but we see no certificate in the normal location
for that product ID, we use the default. This is intended to help cut down on
bugs where systems are installed or kickstarted in non-standard ways and end up
with no installed product certificates.

ProductAggregator handles assembling the installed products from the two sources
and exposing methods from ProductDirectory that the code actually uses.