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.
issue