What is a Sequence-to-Sequence (Seq2Seq) model, and how does it transform one sequence of data into another? How do components such as encoders, decoders, and attention mechanisms help Seq2Seq models handle tasks such as translation and text generation?