This patch adds several CI jobs:
- PEP8
- Unit tests
- LVM
It also changes how we build our images. Now we only push a new image to
Docker Hub if the tests pass successfully. And we only bother to build
the images if PEP8, Unit tests, and LVM jobs run successfully.