Refactor Build.File using monad transformers
Recompile modules when their dependencies have changed.
Add basic Travis CI configuration

I added a basic Travis CI configuration to make the build status more
transparent. I added a small logo to the bottom of the README with the
status and a link to the build.

@evancz after merging this you'd have to go to https://travis-ci.org
and enable the build for this project, just takes a couple of clicks.
See http://about.travis-ci.org/docs/user/getting-started/.

I tested this on my own github account and the configuration worked
(ie, it showed the same build errors on Travis that I'm experiencing
locally).
Style fixes and -Walls for a couple files.
new instance for SS.Type
added some guards. todo turn this into correct Gen. still one failcase
Merge remote-tracking branch 'evan/dev' into arbitary-tipe
better gen and shrink, but stack overflows
turned off Data and Record types, found a bad test case with lambda
also should be able to check both sub-types are valid
really didn't need this
better shrinking and not-infinite-dump generation results in passed tests!
experimental support for setting favicons

Works in Chrome and FF for sure. Safari definitely does not work. Not
sure about Opera and IE9+
Merge in @maxsnew's fixes from #424

Tested on small file where I changed a dependency and on elm-lang.org
code.
Improve error messages as described in a list discussion

https://groups.google.com/forum/#!topic/elm-discuss/X4V4edxeFKI
Merge remote-tracking branch 'evan/dev' into arbitary-tipe
used a more specific PP rendering to revert the changes to SS.Type pretty
Merge pull request #452 from johnpmayer/arbitary-tipe

Added pretty.parse tests for SourceSyntax.Type
restrict incoming ports to disallow data structures that contain signals, only "top-level" signals are allowed
Simplify the JS API for sending values to signal ports, making error handling more reasonable