Create Sequence.hs

Convert several basic operations in `Data.Sequence` to use a GADT representation rather than a nested type. The GADT maintains the shape invariants, much as the nested type does, but avoids the need for polymorphic recursion.