Add a desugar step for implicit Prelude. #224

todo: tests
Move 'hasLanguagePragmas' into Fay.Compiler.Misc
Improve desugarImplicitPrelude following review

* use Biplate functions instead of pattern matching
* respect NoImplicitPrelude pragma
Enable ImplicitPrelude by default
Switch back from uniplate functions

at least until I get them
Don't tell GHC to disable ImplicitPrelude
Tests for implicit prelude
Make Desugar polymorphic again

`Desugar a` changed to `Desugar l a` to allow the desugaring to happen
with any annotation type
desugar before processing imports
try putting desugar before compileImport
compile the right import list
fix broken tests
Remove duplicated desugar calls and make some style adjustments (closes #373, closes #224)
Try to fix travis build
README: Fix broken wiki links
Add Debug.Trace tests
Don't export Data.Ratio and Debug.Trace when using --no-stdlib
Remove most explicit Prelude imports from tests
Fix test type errors