Refactor svnmerge.py to cache logs, mergeprops and blockprops when  bidirectional support is enabled. This refactoring helps prepare us for efficiently eliminating spurious property conflicts.
Refactor svnmerge.py to cache logs, mergeprops and blockprops when 
bidirectional support is enabled. This refactoring helps prepare us
for efficiently eliminating spurious property conflicts.

* contrib/client-side/svnmerge.py

  (logs, mergeprops, blockprops): New variables. Contains cached 
  versions of the logs, merge properties, and block properties for
  each URL.

  (RevisionLog, VersionedProperty): New classes.

  (find_changes): Remove function. Replaced with the RevisionLog and
  VersionedProperty classes.

  (analyze_head_revs): Use RevisionLog and VersionedProperty classes
  in place of find_changes.

  (main): Clear logs, mergeprops, and blockprops.

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion