clone: re-allow using a custom remote name

This is a small thing that by itself doesn't quite justify making the
user use clone_into.
clone: bring back NULL as defaults

This wasremoved as part of the large culling a few commits ago.
clone: mention clone_into in the clone documentation

Make the difference more explicit.
remote: add some comments to the callback struct

Hopefully clear up what they're for.