Fix replace object with object method in NPLinkedList

Fixed the implementation of the replace object with object method in
NPLinkedList.  Previously it was doing something more complicated than
necessary by removing the target node and inserting a new one, when in
fact it's as simple as replacing the object pointed to by the target
node.
Add spec for replace object with object NPLinkedList method

Added specs for the newly refined NPLinkedList method which allows you
to replace an object with an existing object in the list.