Switch tree conflict storage over to skels, rather than a custom format.
Solves issue
#3343.
Review and additional work by: hwright
* subversion/libsvn_wc/tree_conflicts.h:
(svn_wc__write_tree_conflicts): constify a parameter
* subversion/libsvn_wc/tree_conflicts.c:
(field_separator, desc_separator, escape_char, read_field_separator,
read_desc_separator, read_string_field, write_string_field,
write_integer_field): removed
(is_valid_version_info_skel, is_valid_conflict_skel): new
(read_enum_field): read the field from a skel, rather than a character
start/end position. the pool param is no longer required.
(read_node_version_info, read_one_tree_conflict): read from a skel
instead of a string. split the single pool param into both scratch and
result pools.
(svn_wc__read_tree_conflicts): parse the input into a skel, and then
walk that to construct the tree conflict structures.
(write_enum_field): renamed to ...
(skel_prepend_enum): ... this. prepend the mapped value to a given skel.
(prepend_version_info_skel): build a skel for the version info, and
prepend it to the provided skel.
(svn_wc__write_tree_conflicts): constify a parameter, and switch to
skel-based preparation.
(svn_wc__loggy_del_tree_conflict): remove temp variable, writing the
conflict data result directly into the entry (save a strdup).
* subversion/libsvn_wc/log.c:
(run_log): remove temp variable, writing directly into the entry
structure, saving a strdup.
(svn_wc__loggy_add_tree_conflict): constify temp variable.
* subversion/tests/libsvn_wc/tree-conflict-data-test.c:
(test_read_tree_conflict, test_read_2_tree_conflicts): change the
expected string representation of the tree conflicts.
(test_write_tree_conflict, test_write_2_tree_conflicts): constify a
param and change the expected string rep of the conflict.
(test_write_invalid_tree_conflicts): constify a variable.