Doubly linked list refactor

Hey @edshadi! I refactored DoublyLinkedList and SinglyLinkedList by adding the helper method #add_first_node. This makes #initialize, #push_bottom, and #push_top in both classes DRYer.