List: Added tests for the remove op and removed nodes are no longer reseted.

Reseting is bad because we don't know in what context the nodes are
being used and a concurrent op could see the nullptr and assume that
it's at the end of list instead of seeing that the node was removed.

This reinforces the only-use-if-you-know-what-youre-doing status of
this data struct.