Fix submodule checkout substitution for POSIX shells

The substitution used in the submodule checkout command does not work when `/bin/sh` is a real POSIX shell (such as pdksh.) This change fixes the substitution so it will work with all shells.
Is this really the same?

```
${toplevel/#{escaped_clone_path}/}
```

is an expansion, i.e.. `${var/val/}`.

For example

```
$ a=/foo/bar; echo ${a/foo/}
//bar
```