Be sure to avoid variable shadowing when generating temporary variables, fix for # 318
introduce the `padded` function to use fewer `whitespace` markers
add note about Regex library
Always switch out Text elements
merge find and replace in docs
Stop creating dummy divs around every Element in a collage, fixes ordering issue in elm-at-pldi-2013
Get rid of unnecessary logging
Change the internal representation of Text

Now generates significantly fewer spans and is a bit faster.
I also removed the `header` function.
Give more helpful error messages when deserializing elmi files

Provides an error message indicating incorrect compiler version or corrupt file.
Exit status will be 1 in either failure case and error message is printed to
stderr. Uses the same checks against interfaces.data as well as standard .elmi
files since both are susceptible to breaking in the same way.

The following will be displayed when an elmi file has a different compiler
version than the elm compiler that tries to load it:

    justin ~/Code/elm-lang.org/public/examples/Intermediate $ ~/Code/elm/dist/build/elm/elm Pong.elm
    Found build artifacts created by a different Elm compiler version. Please rebuilt cache/Pong.elmi and try again.

The following will be displayed when a file that cannot be deserialized is
encountered:

    justin ~/Code/elm-lang.org/public/examples/Intermediate $ ~/Code/elm/dist/build/elm/elm Pong.elm
    Got an error, 'demandInput: not enough bytes' at offset 10303 of cache/Pong.elmi.

    This error may be due to an outdated or corrupt artifact from a previous build. Please rebuild cache/Pong.elmi and try again.
Merge pull request #320 from jsl/313_verify_serialized_interfaces

Give more helpful error messages when deserializing elmi files
Merge pull request #319 from johnpmayer/dev

language-ecmascript before v0.15 does not have the Pretty(prettyPring) c...
Get rid of either-unwrap dependency and use fewer non-total library functions
Unnecessary style changes

I don't really know why I felt the need to do this, but I am happier
now.
Modify error messages for bad build artifacts to wrap more nicely on the terminal
Rename to `findAll` and `find` like everyone expects :/

It's not consistent with `split` but people seem okay with that.

Also make some examples nicer.
Fix deserialization of interfaces in Prelude

We previously had to fix a corrupt Map by changing it to a List and then back
into a Map. It turns out we had to do this because the original data structure
on disk wasn't a Map to begin with, but a List. It was previously assumed to be
a Map by the compiler because the first function that it was passed to took a
type of `Interfaces` which is a Map of interface definitions. Unfortunately this
didn't cause a runtime error when Haskell found out that the structure wasn't
deserialized into a Map. Instead Haskell happily created a broken Map that
couldn't find members some of the members that it contained (it could find
somewhere around the first half of its members, but the second half it reported
as missing when they were clearly present).

Changing the type of the first function that the deserialized structure is
passed to from a Map (actually Interfaces which is a type of Map) to a List
allows Haskell to infer the correct type to deserialize into and makes
everything work as expected.
Merge pull request #331 from jsl/327_fix_invalid_interface_map

Fix deserialization of interfaces in Prelude