Refactor class Selection
*All fields but bSelectionContainsData are now private.
*direct use of bSelectionContainsData is deprecated
*simplified logic guarding deleteSelection
--Q_ASSERT lines added to detect any possiable regression.
*m_selection is now always initialized so init doesn't need to do this.