Refactor tests to use pytest

Tests have been modified to use pytest instead of unittest, setup.py updated so `python setup.py test -v` should work.

Tests have been split into unit and integration directories. I've attempted to write a test for a mocked `Artifacts` class.

`dev_requirements.txt` and `tox.ini` have been removed, the former is now handled in `.travis.yml` and `setup.py`, the latter is a mystery.

Travis was unhappy with previous commits, I've no idea why.