Merges test projects
Adds support for [Required] fields to not be declared first.
Fixes [Required] fields when they appear in derived types.

Fixes #16