Factor out writing a dumpfile node record, from 'svnadmin dump', 'svnrdumpdump' and 'svndumpfilter'.[Note from the future: this changed the order of headers in a node record.Prop-content-length and Text-content-length now come last, just beforeContent-length. The test suite was adjusted to accommodate this in r1655064.]* subversion/include/private/svn_repos_private.h (svn_repos__dump_node_record): New function.* subversion/libsvn_repos/dump.c (svn_repos__dump_node_record): New, moved from output_node_record in svndumpfilter.c. Make the content-length header optional when there are no properties or text, so we can preserve exact behaviour. (dump_node): Use it.* subversion/svndumpfilter/svndumpfilter.c (output_node_record): Delete; move to svn_repos__dump_node_record. (set_fulltext, close_node): Adjust callers.* subversion/svnrdump/dump_editor.c (dir_baton): Add a 'headers' field in which to accumulate headers. (make_dir_baton): Initialize the 'headers' field. (get_props_content): Don't add a Prop-content-length header here. (dump_node): Return headers instead of writing them. (dump_mkdir, dump_pending_dir): Simplify by using svn_repos__dump_node_record(). (open_root, add_directory): Adjust a call to dump_node() to store the headers in the node baton instead of writing them out straight away. (close_directory): The same, and instead of adjusting the second dump_node call and then dumping the resulting headers, use dump_node_delete(). (close_file): Adjust the call to dump_node() and use the headers returned from it as the starting point for creating the rest of the headers.