Added an intersects method for headers.
Had a bug with changing priorities.  When moving a priority up, would
only check if entry we were moving past was a subset of the entry that we were
moving past.  This basic check previously was wonky.  It would allow
the bottom rule below to move past the top rule below.

01x
xx1

Now check for intersection.
Had misconception about intersects.  Not enough to just check subsets in both directions.
Entries vector is sorted from high priority (closer to zero index) to low priority (at end).