Merge pull request #462 from raichoo/javascript

Javascript performance patches
New module chaser, for better dependency checking and rebuilding
Now treats each source file separately, building a tree of dependencies,
and rebuilding if any dependencies have updated.
In particular, this fixes a problem with stale definitions hanging around
when building packages, and has required some fixes to imports in the
library.

Will need a 'make relib'.
Fix name shadowing in where
Some paper updates, getting final version ready
Fix shadowing bug with dependent pair bindings
added combinators to SimpleParser
more concise implementaiton of combinators
SimpleParser: optional combinator added
tutorial: replace some leftover occurrence of fO
Separate IO and PrimIO
PrimIO is the internal primitive, IO is the user version which requires an
explicit World token to be passed in which programmers have no access to
directly.
Fixes #185 and fixes #325
Merge pull request #464 from cheepnis/master

tutorial: replace some leftover occurrence of fO
Merge pull request #463 from tauli/master

added combinators to SimpleParser
Tweak scoping rules in 'where'
Check whether function names are rebound in patterns
Merge branch 'master' of github.com:edwinb/Idris-dev
Fix some implementation paper typos
Set line buffering on stdout in REPL setup

The runtime sets stdout to block buffering if it’s not connected to a terminal,
so a program piping from idris or idris --ideslave does not get responses as
they are written.
Merge pull request #466 from Melvar/repl-linebuffering

Set line buffering on stdout in REPL setup
Fix optional combinator in SimpleParser
Optimise datatypes with one constructor and one argument
No need to pack them up (because we're strict!) so just treat them as a
newtype would be in Haskell.

No need now to treat prim__IO/prim_io_bind specially in the compiler as the
cosntructor is automatically discarded by this optimisation.
More minor impl-paper edits and typo fixes