Unit tests. Closes #25

- Using py.test
- Of course more tests could be turned into unit tests.
- Tests that require Cython are not yet moved into a separate unit test
  file.