Sync submodule recursively

Submodule may have its own submodules, and the sub-sub-module url may be
changed.
Thus, if `submodule update --recursive` is done without url sync,
sub-sub-module may fail to find appropriate commit.
This patch fixes the problem by `git submodule update` locally
before recursive sync.

--
I failed to `./configure` when `src/rust` submodule has updated and therefore `src/rust/src/libuv` remote has changed (https://github.com/mozilla/rust/commit/c707a2d73cfbb630ff7f38790732586d026a5e8a), but not synced by `configure`.