Finished implementation of subList and added unit tests for it
Added part of the optimization for the addAll.  Also fixed a couple small subtle bugs when retain or remove actually modified the structure
Implemented last TODO note for addAll optimization for when adding to the end