rebase: additional setup tests of exotic behavior
rebase: additional setup tests of exotic behavior

Test some additional exotic rebase setup behavior:  that we are
able to set up properly when already in a detached HEAD state,
that the caller specifies all of branch, upstream and onto,
and that the caller specifies branch, upstream and onto by ID.

stewid/libgit2,joshtriplett/libgit2,leoyanggit/libgit2,leoyanggit/libgit2,joshtriplett/libgit2,jeffhostetler/public_libgit2,joshtriplett/libgit2,leoyanggit/libgit2,stewid/libgit2,Corillian/libgit2,stewid/libgit2,saurabhsuniljain/libgit2,stewid/libgit2,saurabhsuniljain/libgit2,leoyanggit/libgit2,joshtriplett/libgit2,leoyanggit/libgit2,saurabhsuniljain/libgit2,jeffhostetler/public_libgit2,leoyanggit/libgit2,stewid/libgit2,saurabhsuniljain/libgit2,jeffhostetler/public_libgit2,Corillian/libgit2,joshtriplett/libgit2,Corillian/libgit2,jeffhostetler/public_libgit2,Corillian/libgit2,joshtriplett/libgit2,Corillian/libgit2,stewid/libgit2,jeffhostetler/public_libgit2,saurabhsuniljain/libgit2,Corillian/libgit2,jeffhostetler/public_libgit2,saurabhsuniljain/libgit2