Properly handle pattern matching on non-tuple ADTs in let-expressions, esolving issue #417
Migrate tests to test-framework and make them more specific.

Use test-framework as it's more widely used/has better support for
HUnit/QuickCheck.

Make test cases test the `compile` function explicitly instead of the
elm executable as that's all they're actually intended to test.
Re-org tests
Cosmetic: add a space
Setup QuickCheck and add Literal Parse/Print test

Currently fails the prop tests: https://github.com/evancz/Elm/issues/420

Also ignore emacs backup files.
Add parse/print tests for Patterns.
Pattern pretty printer prints syntactically correct code.

Include auto-generated test case that was previously broken.
Make parse/print test more stringent, tweak Float gen.
Style tweaks and use cross-platform file name construction.
Merge pull request #421 from maxsnew/test

Test Re-org and Start Property Testing
Merge branch 'dev' of https://github.com/evancz/Elm into devier
Better output on another case of infinite types
Add special support for trampoline loops
Revert "Make sure that all names in a program are safe for use in JS code"

This reverts commit f8bf89b48de7e8fd89d945ed342ebc708e03a92c.
Hard fork with new name: Noelm