Lots of code updates for List module

See the commit messages -- this is my big code review and rework based on Chris's 2.2 work