boostrap:ssa: fix: CATCH never needs SSA
bootstrap:inference: automagic arg: for optionals, insert only if arg isn't already optional
bootstrap:cprinter: clarify print_bin_sym code
bootstrap:cprinter: support mix named/unamed multiple return values
lib/n/builtins: maybe Error shouldn't be a `Generalized_boolean after all

Let's try it.
lib/n/io: make `Reader and `Writer non-generics

We can have generic versions if necessary. But the great majority of the
time, we will want the version that operates on U8.
utils/vim/syntax/n.vim: maybe 'let new'?
bootstrap:lexer: much simplify the line-escape logic

The rule becomes: a '\\' at the beginning of a line has an effective
indent of spaces - 8, and prevents the insertion of TEOL if
effective indent == parser->indent.

This removes some corner cases that we could support before, e.g.

	foo
		\ if
			true
		else
			false
		\ x

Now, an explicit block is necessary:

	foo
		\ block
		if
			true
		else
			false
		\ x
lib/n/syscall: openat: use syscall(2) directly, glibc wrapper is broken < 2.21 with O_TMPFILE

https://sourceware.org/bugzilla/show_bug.cgi?id=17523
bootstrap:cprinter: remove generated typedefs (a few become macros), use 'struct t'

Generating typedefs is a pain, as it's not legal in C99 to have multiple
definitions, even if they're identical.

This is a fairly major change in the generated output. Several more
minor fixes are included as well.
bootstrap:autointf: *actually* print BWALL in hex...
bootstrap:lexer: relax indent rules once in escape mode

The new rule regarding escaped lines needs to be relaxed to allow such
sensible code layouts as:

	let c = (Foo
		\ (Foo 0
			\ 1) 1)

	let a = { x = 1
		\ y = {
			\ x = 1
			\ y = 0
			\ }
		\ }:t

While both these expressions are on a single line as far as the parser
is concerned, some flexibility is welcome for legibility.
bootstrap:parser: p_statement: reject stray 'such' at end of statement
bootstrap:inference: check that TPOSTQMARK is used on optional or nullable ref
lib/n/fs: split out the 'flags' argument from 'attr' for Open_file et al
bootstrap: represent examples as DEFFUN (remove EXAMPLE node type)
lib/n: fix bugs that were hidden by the previous EXAMPLE representation