thorium: fix memory leak in the demultiplexing code path

When a message is multiplexed (ACTION_MULTIPLEXER_MESSAGE), it follows
a different code path (unlike actor messages, multiplexed payloads are not
eventually received by actor components).
In particular, the message is not eventually consumed by
an actor, and therefore the default code path in worker.c will not be used.

This patch add a call to recycle the message.

[boisvert@bigmem biosal]$ time scripts/performance/latency-probe-4x8.sh |tee log
[boisvert@bigmem biosal]$ grep COUNTER log
PERFORMANCE_COUNTER type = ping-pong
PERFORMANCE_COUNTER ping-action = ACTION_PING
PERFORMANCE_COUNTER pong-action = ACTION_PING_REPLY
PERFORMANCE_COUNTER node-count = 4
PERFORMANCE_COUNTER worker-count-per-node = 7
PERFORMANCE_COUNTER actor-count-per-worker = 100
PERFORMANCE_COUNTER worker-count = 28
PERFORMANCE_COUNTER actor-count = 2800
PERFORMANCE_COUNTER ping-message-count-per-actor = 40000
PERFORMANCE_COUNTER ping-message-count = 112000000
PERFORMANCE_COUNTER pong-message-count = 112000000
PERFORMANCE_COUNTER message-count = 224000000
PERFORMANCE_COUNTER elapsed-time = 72.825860 s
PERFORMANCE_COUNTER computation-throughput = 3075830.467411 messages / s
PERFORMANCE_COUNTER node-throughput = 768957.616853 messages / s
PERFORMANCE_COUNTER worker-throughput = 109851.088122 messages / s
PERFORMANCE_COUNTER worker-latency = 9103 ns
PERFORMANCE_COUNTER actor-throughput = 1098.510881 messages / s
PERFORMANCE_COUNTER actor-latency = 910323 ns

Link: https://github.com/GeneAssembly/biosal/issues/782
Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>