intrusive: assert queue is not chaining to self

If an intrusive_queue were chained to itself, the structure would be
corrupted.
intrusive: add intrusive_order

This template acts as a priority queue backed by a sorted linked-list.  On
insert, there is a special case for inserting an element at the end of the
list, which is useful if values are often monotonically increasing.

In order to be able to quickly access the back of the order, *tail points to
itself in any non-empty order.