fixed some issues with level inheritance and serialized properties.

(LevelsController#show working for Match and Multi again)

The core of this PR involves restricting the serialized properties provided to each ActiveRecord object to its particular inheritance hierarchy (so for example, the 'maze' property can be accessed in Maze and Karel objects, but not in Blockly, Match or Artist ones). This fix shook out a few other parts of code which needed cleaning up in order to get the test suite to pass.
this is necessary because subclasses' serialized_properties are getting into the superclasses' serialized_properties?