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.
Merge pull request #305 from klutzy/submodule-sync

Sync submodule recursively