Custom product data

Enable custom product data from the csv import/export tools. Required a good bit of refactoring from the previous style.
It started out as a `break`, so I left it as is when moving. I can see the value of just making it continue, though.