Cleanup of MessageThread and supporting classes

This was a cleanup of the MessageThread class and supporting classes.  This code is not tested...I'm putting the pull request up for general review, as it will be used as the starting point to fix aborting transfers for removed songs.