Iterate over available conversions when a message is made.

Previously when a message is made the default conversion was used,
unless otherwise specified.  Now we will iterate (in reverse order)
over the available conversions and use the first (i.e. latest)
conversion that is capable of encoding the message.