Refactor|Models: Removed fixed submodel maximum limit (using C++ arrays)

Model DED information and runtime modeldefs (both including submodels)
are now stored in std::vector based arrays. This allows an unlimited
number of submodels per model.

Also applied a light C++-ification by adding constructors.