Add support to run tests with py.test and coverage. #256

To be able to use this configuration one need to run:
```
# tox -c tox_pytest.ini
```
This configuration file setup the pytest-cov plugin and it is an additional dependency. 

It is possible to tests with some versions of python, to do this the command is:
```
# tox -e py27,py34,pypy -c tox_pytest.ini
```

Will run py.test with the python2.7, python3.4 nd pypy interpreters, for example.
@michaeljoseph Sorry, hadn't spotted it was ```py.test``` being configured. But I think the idea is that if this was ```tox.ini```, ```py.test``` would use it (because presumably one of ```tox``` or ```py.test``` does this for convenience). Because we're using a non-standard name, we need to set it explicitly everywhere.

I'm happy if we just switch to ```py.test```. All the tests should still be fine (as ```py.test``` supports ```unittest```-style tests). But we'd lose the logging output that ```unittest```/```setup.py test``` produces - that's a big *benefit* for me, but presumably someone likes it, so maybe they would object :-)