Implement support for the inclusive-or operator. TESLA now constructs the appropriate automaton based on the following rule:

  X `inclusive-or` Y is computed as:
  (prefix*(X) || Y) | (X || prefix*(Y)) | (X || Y)
  where
    - X and Y are sequences of transitions
    - prefix*(X) is the set of sets of transition prefixes of X
      (This is equivalent to the powerset of X minus X itself.)
    - || is the parallel operator that allows all possible order-preserving interleavings
      of the lhs and rhs

  For example, ab `inclusive-or` cd refers to the following automaton:
    = (prefix*(ab) || cd)           | (ab || prefix*(cd))   | (ab || cd)
    = (? || cd) | (a || cd)         | (ab || ?) | (ab || c) | (ab || cd)
    = (cd)      | (a || cd)         | (ab)      | (ab || c) | (ab || cd)
    = (cd)      | (acd | cad | cda) | (ab)      | abc | acb | cab | abcd | acbd | acdb | cdab | cabd | cadb
    = cd        | acd | cad | cda   | ab        | abc | acb | cab | abcd | acbd | acdb | cdab | cabd | cadb