clone: Sometimes the wrong fork can be cloned/fetched

Suppose this situation:

1. fake-parent/repo is *standalone* repo
2. real-parent/repo is a *standalone* repo
3. fork/repo is a fork of real-parent/repo

Then `git hub -t clone false-parrent/repo` results in the following `.git/config` (only relevant parts):

```ini
[hub]
	forkremote = fork
	upstream = real-parent/repo
[remote "origin"]
	url = git@github.com:real-parent/repo.git
[remote "fork"]
	url = git@github.com:fork/repo.git
```

Which is clearly wrong (you ended up cloning a different repository than the one you specified in the command line).

An error saying fork/repo already exists and is not a fork of fake-parent/repo should be printed instead, and nothing should be cloned.

Alternatively, more control over what/how to clone should be added.