Implemented prepend/unshift.
Add userdata pointer to list.
Check if list is empty right before locking
when an element is removed from the list.