Doubly linked list

There's a Pythonic way to avoid using a last_node temporary identifier here: tuple assignment.