Reworked OrbitTypes

OrbitType now has two fields: type and data. The meaning of data depends
on the type of orbit.
In particular, bi-infinite orbits now store a 'type B' as described in
Lemma 4.14(C).  We'll need this to implement
Automorphism.shares_orbit().