add (node) {
    if (!this.head) {
      this.head = node
    } else {
      this.tail.next = node
    }
    node.prev = this.tail
    // since node is the new end it doesn't have a next node
    node.next = null
    this.tail = node
  }
Appends a `node` to the end of this doubly linked list
Note: `node.next` will be unlinked from `node`
Note: if `node` is part of another linked list call `addAll` instead

@param {*} node