Renaming a few files.

Files that were in the plural before for no real reason.
Slight change in the lexer interface.

It seems my usecases benefit from having peek simply say what type
of token it's hovering over, without bringing out the lexeme. Taking
that out of the interface makes peek faster by not having to allocate
space,copy the entire lexeme and make a ni_token_t which will have to
be destroyed later.

Alongside the change in ni_lexer_peek, ni_lexer_read was added that
does the creation of ni_token_t described above and calls
ni_lexer_advance on the lexer to prepare for the next read/peek.
Slight addition to the common/errors interface.

Found while describing the interface to the reader, two new items were
added to the common/errors interface: an error initializer, which sets
the error in a way it's considered to be "ok" (or, no errors); and a
predicate that checks if an error object represents an "ok" state.
Nonworking code for future expansion.

There's new code on the test suites for the asm, file 'reader.c' that's
not actually test code. It's code I was writing while trying a top-down
design of the reader interface by "using" it to load a module.

Along with it, there's a new unfinished doc on the grammar, that shows
what grammar that reader is supposed to handle.

Works for nothing, but breaks nothing also. And I need to be able to
check it out on other computers later on. So it's here :)