Separate loggers for each module. Make logger initialization consistent. Beautify main module. Add API tests of type 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.
* Test module API.
* Separate tests in classes.