What exactly is a tty? Not the file in dev, but the concept of a tty, how did it evolve and what does it really mean?