No need to find merge base.
Merge pull request #2230 from anuraggup/revwalk-merge-base

No need to find merge base.
checkout: Fix submodule_is_config_only's return value
Merge pull request #2237 from mekishizufu/fix_return_value

Fix submodule_is_config_only's return value
remote: write tests for cloning from an empty repo

Cloning from an empty repo must set master's upstream to origin's
master, even if neither of them exist.

Fetching from a non-empty origin must then mark the master branch
for-merge. This currently fails.
remote: mark branch for-merge even if we're unborn

When the current branch is unborn, git will still mark the current
branch's upstream for-merge if there is an upstream configuration. The
only non-constrived case is cloning from an empty repository which then
gains history. origin's master should be marked for-merge.

In order to do this, we cannot use the high-level wrappers that expect a
reference, as we may not have one. Move over to the internal ones that
expect a reference name, which we do have.