improved submodule finding. supports git 1.7.8

git 1.7.8 changed the way submodules are initialized. instead of simply
cloning submodules into subdirectores so that each submodule has it's
own .git directory, each submodule's .git directory is placed in the
superproject's .git directory and the submodule has a .git *file* that
references its config directory with gitdir. new find function checks
for both .git directories and .git files.

also added some verbose output.