Support recursive partial includes for files

can add support for classes as well (another commit)