Following r1543145 (fixing a 'strange error' caused by a missing sentinel
argument), tag the functions that require a sentinel null as their last
argument such that GCC will warn if the sentinel is missing.

This attribute, however, only works (with GCC and Clang) where the sentinel
argument is of a pointer type, so it doesn't help in the specific case of
r1543145 because SVN_NO_ERROR is currently declared as a plain '0', but it
does help in these few other cases.

I enabled this for GCC >= 4.0, according to anecdotal evidence, and for
Clang when Clang claims it is available. I don't see an equivalent attribute
for MSC or other compilers but if there is one we can add it later.

* subversion/include/svn_types.h
  (SVN_NEEDS_SENTINEL_NULL): Define.

* subversion/include/svn_dirent_uri.h
  (svn_dirent_join_many): Tag.

* subversion/include/svn_path.h
  (svn_path_join_many): Tag.

* subversion/include/svn_xml.h
  (svn_xml_make_open_tag): Tag.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__add_open_tag_buckets): Tag.


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