Initialise & update git submodules recursively

Improves the git_projects recipe to initialise git submodules recursively within each project. This means that submodules with submodules will be correctly checked out on initial set up of each project.

I've also added some basic docs to the recipe so that the project configuration format is more obvious for beginners.