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)
True. I suppose we could support both of them. We need to be more clear on this in the spec though.