Centralise annihilated branch checking

Fixes #16

Signed-off-by: Robin Green <greenrd@greenrd.org>
Merge commit 'refs/top-bases/t/checkout' into t/checkout
README: Fix typo

Signed-off-by: Robin Green <greenrd@greenrd.org>
Merge commit 'refs/top-bases/t/checkout' into t/checkout
update: Ensure the tree is clean first

Signed-off-by: Robin Green <greenrd@greenrd.org>
Improved error messages for unclean working directory or index

Signed-off-by: Robin Green <greenrd@greenrd.org>
Merge commit 'refs/top-bases/t/checkout' into t/checkout