Fix spurious declarations of new merge conflicts
Fix spurious declarations of new merge conflicts

This patch also adds extra tests of the key tree merging logic as well
as edoc-formatted documentation for the module and a few of the merge
functions.  Closes COUCHDB-902.

Thanks Paul Davis, Bob Dionne, Klaus Trainer.

git-svn-id: c1f8a8ec0b3bb2e99ab3413722f81f687760e79c@1065471 13f79535-47bb-0310-9956-ffa450edef68

PerilousApricot/bigcouch,breezjw/bigcouch,andrejb/cloudant_bigcouch,linearregression/bigcouch,andrejb/cloudant_bigcouch,PerilousApricot/bigcouch,andrejb/cloudant_bigcouch,PerilousApricot/bigcouch,breezjw/bigcouch,linearregression/bigcouch,linearregression/bigcouch,cloudant/bigcouch,PerilousApricot/bigcouch,linearregression/bigcouch,PerilousApricot/bigcouch,linearregression/bigcouch,andrejb/cloudant_bigcouch,cloudant/bigcouch,linearregression/bigcouch,andrejb/cloudant_bigcouch,cloudant/bigcouch,andrejb/cloudant_bigcouch,breezjw/bigcouch,breezjw/bigcouch,cloudant/bigcouch,cloudant/bigcouch,PerilousApricot/bigcouch,andrejb/cloudant_bigcouch,breezjw/bigcouch,linearregression/bigcouch,breezjw/bigcouch,cloudant/bigcouch,cloudant/bigcouch