Don't assert out on tvb_memcpy() with a null data pointer if the length is 0.

If the length is 0, there's nothing to copy, so it doesn't matter if
there's no data to copy from.  This fixes problems caused by allocating
a zero-length buffer and using that as the data for a tvbuff; the
allocation returns null, so the data pointer is null.

Bug: 9332
Change-Id: I8037ae4b96d30e90a716852bb7e22d3980444f83
Reviewed-on: https://code.wireshark.org/review/3761
Reviewed-by: Guy Harris <guy@alum.mit.edu>
(cherry picked from commit 66318ad5eb8235e73e66acee372df7c47cfea8bd)
Reviewed-on: https://code.wireshark.org/review/5765
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>