Remove a bunch of old conversation lifecycle cruft (part 1)

This is the first part of the cleanup work to remove all the obsolete code that supported the old conversation lifecycle. I plan to remove the worst of the obsolete hackery, but I want to leave more invasive work (like #624) for different tickets to make reviewing a little easier.