add newline missing for two log messages
handle perl errors with trailing periods
add more useful output to errors
use File::chdir to work around broken submodule update in git < v1.7.12

Older gits are unable to work out the proper paths to use for a fresh clone
of a submodule when forwarding the working directory via environment
variables. Thus it is necessary to chdir into the relevant directory.