t/rebase: add failing test for a peculiar revision

The following command fails, even if :/quuxery resolves to a perfectly
valid commit:

  $ git rebase :/quuxery

This is because rebase attempts to rev-parse ${REV}^0 to verify that the
given revision resolves to a commit.  Add a test to document this
failure.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
sh-setup: add new peel_committish() helper

The normal way to check whether a certain revision resolves to a valid
commit is:

  $ git rev-parse --verify $REV^0

Unfortunately, this does not work when $REV is of the type :/quuxery.
Write a helper to work around this limitation.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
rebase: use peel_committish() where appropriate

The failing test in t/rebase passes as a result.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>