bisect: add support for bisecting bare repositories
This enhances the support for bisecting history in bare repositories.
The "git bisect" command no longer needs to be run inside a repository
with a working tree; it defaults to --no-checkout when run in a bare
repository.
Two tests are included to demonstrate this behaviour.
Suggested-by: Junio C Hamano <redacted> Reviewed-by: Jonathan Nieder <redacted> Signed-off-by: Jon Seymour <redacted> Signed-off-by: Junio C Hamano <redacted>