javascript: added foldJS
javascript: refactor inliner
javascript: make use of inliner
javascript: inline more constructors
javascript: inline simple functions
javascript: remove redundant continuations
javascript: JSNull is a constant
javascript: inline more functions
javascript: inline more functions
Better emulation of C in executor wrt file handles

Now, we return a null pointer on failure to open a file, and we allow
isNull to check handles as well as pointers. For handles, it returns true.
 (Temporarily) remove the remaining typecase checks.

6e1cac72fd0660cd26beb6bb1f7ed5a1b65ec9bd temporarily disables the
typecase test, but some checks remain and continue to cause undesired
behaviour. This patch temporarily disables the remaining checks.
Merge pull request #837 from raichoo/javascript

Javascript
Merge pull request #838 from david-christiansen/semantic-pprint

Fix display of CantConvert
Merge pull request #839 from david-christiansen/executor

Better emulation of C in executor wrt file handles
Merge pull request #840 from SimonJF/tcase-remove

 (Temporarily) remove the remaining typecase checks.
Change argument order for 'either'

For consistency with maybe (and indeed Haskell!). Sorry if this breaks
anything...
Add release script
Annotate and colour pairs and () properly

Now, the delaborator remembers if a particular unit or pair is the type
or the constructor, and colours them accordingly.
Merge branch 'master' into semantic-pprint