Added ProductClassShape to allow mapping to classes extending Product

review by @szeiger 

contributed by yours truly sport195 :)