Separate loggers for each module. Make logger initialization consistent. Beautify main module.

Fix #29.

### Main:
* Explicitly test for lexing and parsing success.
* Separate `logger`s for lexer and parser.
* Beautify usage message.
* Use consistent quotes.

### Error:
* Error: DRY default `inputfile` argument.

### Type:
* `Table`: Create own logger if one is not provided.

### Type test:
* Fix name clash of `type` module and `type` variable.
Include a test initializing without passing a logger.