TR performance tweaks (implied-atomic? and let)

Fixed performance problems noted in the following bugs:
http://bugs.racket-lang.org/query/?cmd=view&pr=14825
http://bugs.racket-lang.org/query/?cmd=view&pr=14838

Both of these bugs were due to propositions unnecessarily growing exponentially. (Information was being duplicated and recorded numerous times in slightly different propositions. These redundancies are now prevented.)

General performance (i.e. time to run TR tests) seemed unaffected. The above programs (noted in the bugs) all type check relatively immediately now.

All Typed Racket tests passing.