Revert "git-subhistory split requires branchname for now"

I think I'm already gonna need that namespace even for merge, not just
push/pull.

This reverts commit a4e6cd452249c39fc823e3597ef9d619b5f1c162.
Split as SPLIT_HEAD, branch name optional

Kinda like how you can git-fetch and then do stuff with FETCH_HEAD
regardless of destination branch in the refspec, you can now split and
do stuff with SPLIT_HEAD regardless of optional branch name to split to.

Implementation:

If <subproj_branch> is provided, create/reset branch of that name just
like before, but then symref SPLIT_HEAD to it.
Elsewise just set SPLIT_HEAD to the current HEAD.

Either way, filter-branch SPLIT_HEAD.

Make sure SPLIT_HEAD is a normal ref, not a symref (new commits on the
branch not from splitting shouldn't be under the SPLIT_HEAD).

Finally report successfully split to SPLIT_HEAD, so the user knows they
can do stuff with SPLIT_HEAD, just like git-fetch printing out
"-> FETCH_HEAD".

Add test of SPLIT_HEAD, and also no need for one-use
subproj-split-from-inside branch anymore.
Sectionize subhistory_split() #comments