Check if external compression libraries are available at run-time.

This patch ensures that Tor checks if our compression backend libraries
are actually available at run-time. This problem happens if Tor is
compiled with weak linking where the lack of the external library
provided functions will lead to a NULL dereference first time they are
called.

See: https://bugs.torproject.org/22926
1 job for bugs/22926 in 3 minutes and 26 seconds
latest
Status Job ID Name Coverage
  Test
failed #51206322
build

00:03:26

 
Name Stage Failure
failed
build Test
                                   ^
src/common/compat.h:199:51: note: in definition of macro 'PREDICT_UNLIKELY'
#define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
^
cc1: all warnings being treated as errors
Makefile:5739: recipe for target 'src/common/compress_lzma.o' failed
make: *** [src/common/compress_lzma.o] Error 1
cat: test-suite.log: No such file or directory
ERROR: Job failed: exit code 1