Reject paths containing control characters at the repos layer.

Newly added paths are checked by the repos commit editor, and rejected
if they contain control characters.

Related to issue #4340.

* subversion/libsvn_repos/commit.c
  (illegal_path_escape): New, copied from libsvn_subr/path.c.
   Going forward, we could make this function public in libsvn_subr.
   But a static copy in this file will make backports easier for now.
  (check_cntrl): New, based on svn_path_check_valid().
  (add_file_or_directory): Reject paths which contain control characters.

* subversion/tests/libsvn_repos/repos-test.c
  (filename_with_control_chars): New test.
  (test_funcs): Add new test.


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