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.
Fixed isEmpty() and count. 
As for peekNode() being used from any thread other than the consumer, I'd consider it a bug in the calling classes, but I leave it to you judgment.