Organise .gitignore

Getting a bit OCD about this.
Enhance setup.py

Was reading the guide to python packaging:
http://www.scotttorborg.com/python-packaging/
Make coverage ignore errors

It seems to get confused by .pyc files.

The project author sanctions this work-around:
http://stackoverflow.com/questions/2386975/no-source-for-code-message-in-coverage-py