Introduce Pytest, Tox, Coverage

Fixes #13.

**Still work in progress.** Qemu on Travis is very slow :/

The question is whether we actually need Qemu with a real server, or if we can go with mocking one. Then we could get rid of the Qemu setup.
Another option, if we want to have the version in the library (I'm not sure I see the point but definitely not against it), is to have a plain text `VERSION` the setup.py reads the version from then do the same in the codebase. It's still not ideal since we'll have some slight code duplication in our build and running code but unfortunately that's not something we can avoid with packaging right now.