Generate better record projection types

In particular, pay attention to parameters since there is no need to
project in the type for these.

Fixes #201
Fixes #1356
Disable old productivity checker

(It didn't work anyway...) Also fix a problem with the guardedness check
in the new version. This has caught a couple of non-productive functions
in Prelude.Stream.

Fixes #671