This supersedes the functionality of remote_create_with_fetchspec, remote_create_anonymous and remote_create_detached.