Merge pull request #240 from arthurschreiber/checkout

Checkout
Start adding merge functionality.
Fix an issue with passing no options to `Tree#merge`.
Add tests for `Tree#merge`.
Add and enable merge options.
Document merge options.
Add Index#each_conflict.
Add Index#conflict_add, Index#conflict_get, Index#conflict_remove and Index#conflict_cleanup.
Remove unused variable declarations.
Replace #each_conflict with #conflicts.

This makes sure that users can't modify conflicts while iterating over them.
Rename #conflict_get to #conflict_at.
Remove unused function.
Use hashes instead of arrays.
#conflict_add and #conflict_get now also use hashes.

Also renamed #conflict_at back to #conflict_get and updated some docs.
Update docs.