removeFirst() {
    if (!this.first) return null; // Check if list is already empty.
    const head = this.first;

    this.first = head.next; // move first pointer to the next element.
    if (this.first) {
      this.first.previous = null;
    } else { // if list has size zero, then we need to null out last.
      this.last = null;
    }
    this.size -= 1;
    return head.value;
  }
Removes element from the start of the list (head/root).
Similar to Array.shift().
Runtime: O(1)
@returns {any} the first element's value which was removed.