make sure we don't die with a missing tree error during first sync

the first update --init can sync the submodules but then fail to
checkout the tree (because we haven't fetched it yet). Run the update
once to sync the list, ignoring errors, then fetch the remotes and
resync (this time paying attention to errors)