odb: clear backend errors on successful read

We go through the different backends in order, so it's not an error if
at least one of the backends has the data we want.
Fixed miscellaneous documentation errors.
Merge pull request #2382 from mikeando/doc_fixes

Fixed miscellaneous documentation errors.
Introduce GIT_MERGE_CONFIG_* for merge.ff settings

git_merge_analysis will now return GIT_MERGE_CONFIG_NO_FASTFORWARD
when merge.ff=false and GIT_MERGE_CONFIG_FASTFORWARD_ONLY when
merge.ff=true
Move GIT_MERGE_CONFIG_* to its own enum
Use a config snapshot
Staticify `merge_config`
Modify GIT_MERGE_CONFIG -> GIT_MERGE_PREFERENCE