Currently working until defrag is needed. 

Still has bug where defrag() does not properly redo indices in first 100 addresses. The workaround is to have it only update the indices when the first part of the defrag method actually shifts something.