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.
Minor tweak to pretty-printing lambda

Indent the body of the lambda slightly
Use pretty-printer to show the result of :x
Decorate type provider errors with source location
Test updates for executor and type provider update
Whitespace cleanup
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
Remove colour codes from ffi001 expected
Remove colour codes from ffi001 expected - fixed
Avoid pollution of test case with ANSI codes

Apparently, Curses was outputting system-specific terminal codes which
caused test cases to fail some places. This test update makes it stop by
not running the interactive REPL.
Update test to avoid interactive-mode control chars
Remove reliance on interactive output from test ffi004
Merge pull request #846 from david-christiansen/semantic-pprint

Updates to printing