Util::SortedList now has m_head pointer

I updated the Util::SortedList to have a m_head pointer, which is solely
responsible for tracking the number of tiers, and I made the
Util::SortedContainer class a Util::Sorter object, so that it doesn't
have to inherit from Util::Container and afflict me with the diamond
inheritance problem. Also, I think I want to change tier generation to
be truly logarithmic.