Use visitor pattern to create conversation items
This branch builds on @grote's refactoring of the private message hierarchy to use the visitor pattern for creating conversation items in a type-safe way without instanceof
ladders. I've done some leisurely QA and haven't found any bugs so far.