(PUP-2860) optimizations and maintenance

This PR contains a series of refactoring, maintenance and small performance enhancements.

The biggest source line changes are caused by a refactoring of the rgen based models splitting
them into a meta model part, and an implementation part. This to later enable faster / different construction
of the meta model and mix in the implementation.

Review is probably best done per commit.
This (almost) same TODO block for dumping/reading serialized ecore models shows up in three spots.  I think we should remove it and instead create a ticket with an attached diff (as an example of the proposed change).