Add initial test suite.

See #3 for details.

Closes #4.
Silence flake8 warnings.