Refactoring pt. 1

In this patch parser rules are made more strict,
some boilerplate from parser and other tools is removed,
and a bug with override in composite item is partially
addressed. Also an attempt is made to enhance test coverage.
19 files changed