Change *Directory subclasses to use super()

This makes it a little easier to mock out
parent classes for testing.
make DatabaseDirectory use super() like other *Directorys
more tests for productid and ProductDatabase

Add many cases for productid.ProductManager, and
add some cases for ProductDatabase, including
stubbing a DatabaseDirectory