Kill Deriveds
This MR removes Derived constraints from GHC, simplifying the solver and making plugins easier to write. There should be minimal user-facing changes.
With key help from @trac-sheaf and much discussion from @simonpj.
Posting for now just for review and collaboration -- more extensive documentation, etc., to come in time.
Also fixes