Allow gunfold

The motivation for the `mkNoRepType` `Data` instance for `Text` appears to have been to follow the idiom established by `Data.Map` and `Data.Set` for dealing with encapsulation.

We change the behavior of those types to allow `gunfold` by the use of a 'virtual' constructor back in 2012.

http://markmail.org/message/trovdc6zkphyi3cr#query:+page:1+mid:a46der3iacwjcf6n+state:results

This patch would allow the same behavior to work for `Text`, and just silently improve the experience of generic programmers across the board.