Refactoring NewArrayList to extend AbstractList. Fixing unit tests.