Generates random objects according to any existing class definitions

Reuses already created objects for object and array links, if they exist.

@alzier @jpsim @tgoyne