Rearrange directory layout
This merges the rearranged directory layout from !18 into master so that it is possible to work on other issues without causing merge conflicts in the moved files.
This merges the rearranged directory layout from !18 into master so that it is possible to work on other issues without causing merge conflicts in the moved files.