branch: correct notion of remote-tracking branch and upstream

The current documentation text seems to be very confused about what a
remote-tracking branch is and what the relationship to an upstream is.

Correct the text to talk about the upstream branch when dealing with the
upstream configuration, instead of implying that it's related to the
setup of remote-tracking branches.
Update docs for merging

Remove references to MergeResult and put merge_analysis in the docs.
Merge remote-tracking branch 'carlos/merge-docs'
Added clean_state_files
Proper naming
Added docs
Move Index to cffi

This commit gives us feature-parity with the version in C.
Add looking up conflicts in an Index
Move merge tests to their own file

The method is in Repository, but the merge functionality is separate. We
will introduce more tests in this area later.
Add tests for Index conflict access
Add documentation for conflicts and fixup Index

Add documentation for the conflicts, and add some for IndexEntry and
Index which went missing during the conversion to cffi.