Added utility to create maps of uuid -> message.

New utility class can take a series of messages and recursively search
all submessages and load their uuids into a map. This way any submessage
can be retrieved easily by it's uuid. Also implements a parameterized
typesafe `get` method to retrieve messages.