Custom product data

Enable custom product data from the csv import/export tools. Required a good bit of refactoring from the previous style.
it might make sense to use the excel helper class that handles user/group upload and switch the format to use that (or at least look at the source there to see how it works). nothing wrong with this implementation but you would likely want to hand off to a standard parser class that abstracts this work away from you rather than having to put this stuff here - which i think is exactly what that class does. cc @dannyroberts