Overhaul of advanced features

Origin of:

- composite types
- one of type
- entity definition
- exclusive properties
- examples folder

Syntax update for:

- one of type
- referencing
- templates properties (variable property name)
I think this is being unnecessarily complex. We can allow the users to define their own object types, but asking/allowing them to define their own "templates" is worrying.

And yes, I haven't noticed it because `One or many` is not an object type and is in the same category as `array`, `object`, `one of`. (which I mean template above)