Partial fix to reporting of unused imports and bindings

At present, the implicitly generated instances count as uses, so fields
will never be reported as unused bindings.
Further improvements to unused bindings

Now the implicitly generated instances are discounted, but DefUse
information for overloaded fields is necessarily inaccurate, so
unused locally-defined overloaded fields may not be reported.
Require -XOverloadedRecordFields when magically solving constraints