[PROPOSAL] Simplify message passing from the conversation list to the conversation object and windows

This is fully functional, but I'd like some discussion on if we want it or not.

The changes here are changeset 84785fb - the other changes are PR 394 on which this branch is based.

The origin idea I had was to make all the forwarding in the conversation object go via the function previously known as `_sendMessage`. Then I realised that this was really mainly just forwarding.

So I decided to experiment with having the conversationList formulate the message and use the conversation object send function to do the actual sending.

This reduces the size of the conversation object dramatically.

I guess another option could be for conversationList to listen to the spa events with the same function (some sort of map?), and simply forward them to the conversation window somehow.

Feedback welcome!