Value type

Add full support for value-types.

Scrutinizer will probably complain a bit about methods complexity, I'll (hopefully) fix that tomorrow.
The StringResourceNode may have a language attribute. You should, I think, test that datamodel-python works well when this attribute is there.