Update AbstractNodeQueue.java to avoid redundant reads of head in peekNode

Avoid spinning on head when a peek/poll observes a null next but the queue is not empty.
Aside from `peek()` which is not used, it's only `isEmpty()` which calls `peekNode()`

`peek()` and `peekNode()` should be documented to only be called by the consumer. :)