Document how to obtain the git exit status after a call to run()

Thanks to Grant McLean for asking why 'git rm does-not-exist' died (exit
status 128) while 'git checkout does-not-exist' didn't (exit status 1).

It would be interesting to make the conditions on which run() dies a
little more flexible (by passing fatal exit status values as an option,
for example).
add a section about Git::Sub
minor changes to the OTHER PERL GIT WRAPPERS section
use PodSyntaxTests and PodCoverageTests dzil plugins
use the MetaTests dzil plugin
silence some git clone warnings
test when run() dies and obtaining the exit status

Test various Git error conditions, and how run() reacts to them.

Also checks that $? contains the expected value.
use a somewhat more readable variable name in run()
Merge branch 'dzil'