clear REUC on checkout

Clear the REUC on checkout (except `git_checkout_index`).

Remove some unused cruft from `index_free` (calling `git_index_clear` emptied the index entries and the REUC already).

Some tests to ensure the REUC is cleared on resets and checkouts.