Issue 36: Users can now edit variants. There were a lot of details, and ...

...it's possible I overlooked something, but I think it's good. I ended up having to change some of the enums to classes since the values of the enums weren't being serialized. Hope I changed it right...