Api for product and productversion

it is worth noting that ProductResource.obj_update() does not overwrite the productversion list, it just adds to it. This is not RESTful, but is in-line with the fact that we don't allow PUT to lists.