DropMessage refactoring: Don't use generic-parametered DropMessages

but ModelObjects as `data` field that shall be casted to specific target types afterwards.

Perhaps a reasonable way to get rid of the template-bracket-frenzy that's spread all over the code.
Please review and critizize - I haven't spent so much time in semantically walking through all the changes.

Resolves #199 once merged.
Is it useful to have a cast method that's quite exclusively ought to be used for deserializing
to be placed and accessible in the ModelObject class itself?
```
public ModelObject getData() {
        return data;
    }

public <T extends ModelObject> T getDataAs()
    {
	return (T)data;
    }
```
I'd rather have this approach. Guess we may need a third opinion about this.