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