Phase one of 'Convert to C++': use std::list instead of homebrew LinkedList, some use of std::vector, use ranged for loops from C++11.