Simplify lintIdUnfolding

The logic for `DFunUnfolding` seemed quite confusing and unecessary. A

simpler strategy uses `maybeUnfoldingTemplate`, as that is what is

actually used when doing inlining and checking that has the right type.

Reviewers: simonpj, goldfire, bgamari

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4919