Added message store capability

Created a way of storing and retrieving messages.
Currently there's just an in-memory implementation,
but in the future I will create one that logs to a
database.