Introduce mergeinfo rangelist canonicalization functions.

After editing rangelists in mergeinfo, the rangelists need to be returned to
their canonical representation. The mergeinfo documentation states only that
the ranges must be sorted, but adjacent ranges usually should be combined
and at least one test assumes that.

In 'svndumpfilter.c' we were just sorting them without combining adjacent
ranges. (It is probable but not proven that the preceding code can in fact
produce combinable ranges.) In the 'renumber_mergeinfo_revs' functions in
libsvn_repos/load-fs-vtable.c and svnrdump/load_editor.c, we are currently
relying on the following 'filter_mergeinfo_by_ranges' call to combine
adjacent ranges. I plan to get rid of that filtering operation later.

* subversion/include/private/svn_mergeinfo_private.h,
* subversion/libsvn_subr/mergeinfo.c
  (svn_rangelist__canonicalize,
   svn_mergeinfo__canonicalize_ranges): New functions.
  (is_rangelist_normalized): Note the possibility of a false negative result.
  (parse_revision_line): Simplify by using svn_rangelist__canonicalize.

* subversion/svndumpfilter/svndumpfilter.c
  (adjust_mergeinfo): After adjusting mergeinfo, don't just sort it,
    canonicalize it.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1646495 13f79535-47bb-0310-9956-ffa450edef68