5010 redesign product form

Here's work I've done so far for Spree issue #5010.

I'm closing in on the features I wanted to build, and I'd like to get a critiqueof the code before I go on to make a pull request to spree/spree.