data: URL requests should serve the whole decoded URL
Address the possibility of data: URLs containing null characters when the data
request is being performed. The uri_decoded_copy method is enhanced with a
third argument, a pointer to an integer that should be set to the length of
decoded data when provided. This length is then set as the request's content
length.
A test checking the correct behavior is added in requester-test. Calls to
uri_decoded_copy where the length of the decoded output is not required are
adjusted to provide NULL as the third argument.