Add rename pass to desugar
Rename data constructors
No need to check for aliased constructors anymore
Disallow duplicate definitions in scope
Don't need to carry NameKind for dcons anymore
Just use Qualified name for dcons
Type renaming mostly working
Fix remaining type rename cases
Delinting
TypeDeclarationKind now unnecessary

Although the handling of duplicate definitions within a module needs
refining
Delinting again
Remove redundant canonicalizeType
Use extM instead of chaining everywhereM
Use Either instead of error
Add drop and take to prelude, add Eff.Unsafe module
Empty data decls and empty type class decls
No need for execTests.sh any more
Update RELEASE-0.5.md
Deal with data constructors from explicit imports
Tidy up