Clear up another clangalyzer issue

"The NULL pointer warnings on the return value of
tor_addr_to_in6_addr32() are incorrect. But clang can't work this
out itself due to limited analysis depth. To teach the analyser that
the return value is safe to dereference, I applied tor_assert to the
return value."

Patch from teor.  Part of 13157.
Clean up a clangalyzer warning in directory_remove_invalid

"At this point in the code, msg has been set to a string
constant. But the tor code checks that msg is not NULL, and the
redundant NULL check confuses the analyser[...] To avoid this
spurious warning, the patch initialises msg to NULL."

Patch from teor. another part of 13157.
Don't pass invalid memory regions to digestmap_set/get in test_routerlist

Fixes bug in c887e20e6a5a2c17c65; bug in no released Tor version.
Add script to detect and remove unCish malloc-then-cast pattern

Also, apply it.
clients now send correct address for rendezvous point

Clients now send the correct address for their chosen rendezvous point
when trying to access a hidden service. They used to send the wrong
address, which would still work some of the time because they also
sent the identity digest of the rendezvous point, and if the hidden
service happened to try connecting to the rendezvous point from a relay
that already had a connection open to it, the relay would reuse that
connection. Now connections to hidden services should be more robust
and faster. Also, this bug meant that clients were leaking to the hidden
service whether they were on a little-endian (common) or big-endian (rare)
system, which for some users might have reduced their anonymity.

Fixes bug 13151; bugfix on 0.2.1.5-alpha.
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
Add coccinelle script to remove pointless callocs
Merge remote-tracking branch 'origin/maint-0.2.5'
Ignore coverage_html/
torrc.sample: Fix units