1035115: Update product id certs

Add support for updating the install product id
certs to newer versions.

productid.py now checks available versions against
installed versions, and compares the certs with
ComparableProductCert and ComparableProduct classes.

Versions newer than installed systems are updated.

Add a "pre_product_id_update" and "post_product_id_update"
plugin slots, and corresponding plugin conduit.

Split installing of new product certs, and updating
old ones so we can have seperate plugins.
wip: add comparable Productid class

wip - updating a product cert by version works

wip - add test of same cert being available

wip - test we dont downgrade product certs

wip - cleanup names

wip - add product_update plugin support

add ComparableProduct and ComparableProductCert