Move checkout head to Git class

Checkout head logic was incorrectly added to the Editor class instead of the Git class when the feature was originally added years ago.

This moves that logic into the Git class where it belongs.
I think this text is more appropriate for GitHub for Mac where there is only one set of possible changes, i.e. there are the contents in storage that are different from the repository. In Atom, there are three sets of possible changes you could be referring to:

1. Changes between repository and storage
1. Changes between storage and editor contents
1. Changes between repository and editor contents

I feel like the text "all changes" is ambiguous enough that some users will be confused. I think it is safer to be specific about what state the editor will be left in after the operation, e.g. the editor's contents will be completely equal to the contents of the last Git commit for that file. So maybe something like: `Are you sure you want to discard all changes to #{filename} since the last Git commit?`