5010 redesign product form

Yeah, I'll have another look at that. It's also violating my principle of keeping jQuery handler functions as short as possible. It got this way because I went back and forth on whether to write a new function for variants or try to modify the existing one. Will refactor both.