fixed unshift: root reset

Now the `root` pointer is actually set to the new head node. Previously there was an annoying bug that meant the `LinkedList` never actually had any nodes added on with `unshift()`.