If the new item is inserted before the first item in the list, then the
head must be updated as well.
Add a test to the list unit test to check for this.
Similar in function to LIST_INSERT_AFTER, this will insert a new element
into the list before the specified position. If the specified position
is NULL, the element is added as the tail of the list.