Fix addition of Typeable constraints in the presence of PolyKinds
Also trim the params of instance heads (PolyKinds hack)
Always rename top level declarations
Support DataTypeContexts, even if it is a misfeature..
Sort pragmas in tests
Add a couple more tests