[WIP] Groom and optimize tests.

### Parse:
* Parsing tables automatically stored w.r.t `start`.

### Lex test:
* Rewrite and expand test of #8.

### Parse test:
* Fortify tests to check that parser preserves order of tokens in `list`s and `seq`s.
* Differentiate tests to avoid undetected errors in argument order of AST constructors.

### ParserDB:
* New class for caching parsers during unit tests.
* DRY other testfiles.
 
### Makefile:
* Create separate unit test script (`utest.sh`).
* Add target for cleaning auxiliary tables.

### misc:
* Replace `unittest` primitives with `sure` primitives.
* Skip tests using the `@unittest.skip` decorator.
* Fix some `pylint` warnings.
* Import `sure` at package level, as is recommended.
Is this done because of a PLY bug? I don't understand why we have to pass a logger explicitly.