Fixed the linked list remove function

The linked list remove function was not working correctly when removing
the first item in the list. This is because head was not being set
correctly.

Other changes:
- Fixed Ordered list add method which was not setting prev link the
correct way
- Full build
- Added toFullString to both classes which is very helpful for
debugging.