Following up on r1561688, extend the stream api with a data available
callback. This allows converting the ra-svn api which currently doesn't
follow the svn_stream_t contract and to switch to using it correctly.

* subversion/include/svn_error_codes.h
  (SVN_ERR_STREAM_DATA_AVAILABLE_NOT_SUPPORTED): New value.

* subversion/include/svn_io.h
  (svn_stream_seek_fn_t): Fix indentation.
  (svn_stream_data_available_fn_t): New typedef.
  (svn_stream_set_data_available): New function.
  (svn_stream_data_available): New function.

* subversion/libsvn_subr/stream.c
  (includes): Add apr_poll.h.
  (svn_stream_t): Add value.
  (svn_stream_create): Update caller.
  (svn_stream_set_data_available): New function.
  (svn_stream_data_available): New function.

  (data_available_disown): New function.
  (svn_stream_disown): Install callback.

  (data_available_handler_apr): New function, based on ra_svn code.
  (svn_stream_from_aprfile2): Install callback.

  (data_available_handler_checksum): New function.
  (svn_stream_checksummed2): Install callback.

  (data_available_handler_stringbuf): New function.
  (svn_stream_from_stringbuf): Install callback.

  (data_available_handler_string): New function.
  (svn_stream_from_string): Install callback.

  (data_available_handler_lazyopen): New function.
  (svn_stream_lazyopen_create): Install callback.


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