tg: fix recursing with missing dependencies
In the following dependency chain:
t/1 => t/2 => t/3
with missing initial t/1 no error is was returned when attempting
to update t/3, because t/2 was assumed to be external origin that
does not need update.
Extend recurse_deps() API to inform driver about missing dependency
by setting $_dep_missing before calling.
Use it in branch_needs_update() to indicate missing deps by emitting
additional '!' and forcing tg-update.sh to recurse into parent and
fail due to missing dep. All other drivers were extended to check
for $_dep_missing and silently return (that is what happened anyway).
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>