SIngly linked list java implementation (int) with optimized add methods (to add front, @index, or end)