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.

### README:
* Expand resources.

### 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.
The `parse` module now behaves almost exactly the same, as it caches tables according to the `start` argument and provided a fresh parser on each call. However, it initializes parsers using proper `Loggers`, not `LoggerMock`s. Should we change that?