Make TR contract generation not wrap everything in recursive contract.

Eta expand struct predicates, as this was the reason for recursive
contracts in the first place.

Original commit: http://git.racket-lang.org/plt/commit/76a1112df0