Implement new source tree layout #125

First set of changes incorporating new structure of source tree.
It also applies some of changes planned as part of buried headers feature #25

Work in progress, requires testing before merging into develop branch
Merge branch 'feature/125-new-layout' into develop

Implementation of the new source tree layout
Closes #151

Conflicts:
	.gitignore
	src/CMakeLists.txt