message_multiplexer: add initial work for topology-aware aggregation

A message can be added initially in a multiplexer delivery route
using the thorium_message_multiplexer_multiplex() function.

In thorium_message_multiplexer_demultiplex(), a message can go in
2 different paths. In the first case, the routing_destination
attribute of the message and the destination_node attribute
of the message are the same. In that case, a local delivery is
performed. Otherwise, the next node in the route is obtained and
the message is pushed there.

Signed-off-by: Sébastien Boisvert <boisvert@anl.gov>