Merge r1842010, r1841225, r1862039, r1862040, r1862042 from trunk:
* dav_stream_response processes data that has been allocated from the propdb pool. Hence close the propdb *after* dav_stream_response which clears thei probdb pool.
* Doing a PROPFIND on a large collection e.g. 50.000 elements can easily consume 1 GB of memory as the subrequests and propdb pools are not destroyed and cleared after each element was handled. Do this now. There is one case in dav_get_props where elem->priv lives longer then the propdb pool. In this case allocate from r->pool. Furthermore also recycle propdb's which allows to clear the propdb's pools instead of destroying them and creating them again.
Simplify handling of short-lived pool for dav_propdb in mod_dav. No functional change.
* modules/dav/main/props.c (dav_popen_propdb): Rename from dav_open_propdb, take a pool argument. (dav_open_propdb): Reimplement in terms of above, using r->pool. (dav_propfind_walker): Switch to using dav_open_propdb with scratchpool.
* modules/dav/main/props.c (dav_do_prop_subreq): Allocate escaped URI out of propdb pool, fixing small per-resource leak during a PROPFIND walk.
Submitted by: jorton, rpluem
* modules/dav/main/mod_dav.c (dav_send_multistatus): Tag the pool.