Ensure "subpull" fails if a submodule branch can't be fast-forwarded
Also, use a simpler method of ensuring one SSH connection per submodule.
Calling merge with no target commit only works if
merge.defaultToUpstream
is true (default).
Edited by Ben Sjoberg