Add file listing for sub-projects to Projectile

Add the ability for Projectile to automatically see sub-projects in a
project like Git submodule. It can handle cycle submodules (submodules
that can include itself as submodules and create a loop). The scenario
is described in details in function projectile-get-all-sub-projects.