Fix replace object with linked list method in NPLinkedList

Fixed the replace object with linked list method so that when a nil or
empty linked list is passed and the target object is in the list, it
will simply remove the target object from the list.

This makes sense because in theory if you want to replace an object with
nil or an empty list then that object should basically just be removed.
Add spec for replace object with linked list method of NPLinkedList

Added specs for testing the method in NPLinkedList which allows you to
replace an object with a linked list.