Add build to the .gitignore

- Your build is your build, keep it close to your heart <3
Add requirements/requirements_for_tests

- We do this on every other python repo and I just got massively cut up about not doing it here because basically #emotions
Add a Setup class to provide some helper functions

- We seem to do quite a lot of reading from other places to describe our package, hopefully these are some sensible methods for generating that setup description
- bounces the requirements to requirements files and then reads from there, keeping our usual pattern
- Reads the version from init, which is where I'd guess we're expecting the version to be
- I've shifted the long description to it's own method within the Setup class, so as to protect its entirely fragile ego (only joking `long_description`, I know you're good.)
Actually extract the version from `__init__.py`

- This wasn't working before
- My capacity to write regexs may be called into question
Now use the version lookup
Update collector package metadata

- The convention for 'Version Bookkeeping' in PEP8 (which we know and love) [is lowercase](http://legacy.python.org/dev/peps/pep-0008/#version-bookkeeping)
- http://legacy.python.org/dev/peps/pep-0008/#version-bookkeeping
- Setup is modified accordingly
Add in MANIFEST.in to ensure requirements are passed to dist
Add `publish.sh` to allow Jenkins to grok for semver changes

- gets last sha in which a change was made to `performanceplatform/collector/__init__.py` (which contains the package information, including version number)
- extracts the version in __init__.py from that particular moment
- Checks whether that tag exists in github, and if not, publishes with the new version and a generic message
- TODO: better messaging?
Push the new tag, don't just create it
Encode version string as ascii

- sdist was bailing with a UnicodeDecodeError, python 2.7 was interpreting the __version__ incorrectly. More on this here: https://github.com/pypa/sampleproject/issues/10
Check pypi test server before publishing
Adding in a license, ready for PyPI
mergefix
fail loudly
Refactor class methods into private functions
fixup multithreading import
merge from master
Merge pull request #15 from alphagov/semmyVee

Produce setup using our usual patterns