free(NULL) always works (nowadays) so stop acting like it might not
src/common/util.h has the following text in a comment:
* Unlike the free() function, tor_free() will still work on NULL pointers, * and it sets the pointer value to NULL after freeing it.
free(NULL) has been required to be a no-op since C89 at least. Some pre-ANSI platforms might have had a libc
free() that didn't allow a null pointer, but we mostly don't care about those.
We should stop propagating this common misconception that
free(NULL) might undefined on modern platforms. We should remove that text from the comment and remove the conditional from the implementation.