List Function Performance and Testing Improvements

As of the last commit, everything in the `List` module uses constant space (fixing https://github.com/elm-lang/Elm/issues/587 without trampolining).

I also rewrote the equality function to use constant stack space for any datatype, since it was making the tests blow the stack.

Also, did a couple of tweaks to the testing script that should make running the test suite easier/faster.