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
Workaround to stop problem running setup.py test

multiprocessing and logging don't get on with each other in Python vesion 2.7.3 (but is fixed in 2.7.4). Importing multiprocessing in setup.py is a workaround mentioned in a couple of places online.

See: http://bugs.python.org/issue15881#msg170215
Merge pull request #23 from alphagov/multiprocessing-AttributeError-workaround

Workaround to stop problem running setup.py test
Add tests for new class derived from httplib2.Http

This should expose the same functionality and the same interface, but will back off on 503, 502 and 403.
Implementation of class derived from httplib2.Http

This exposes the same functionality and the same interface, but backs off on 503, 502 and 403.

Instances of this (rather than httplib2.Http) will be injected into the Google API client.
Replace instance of Http with one of HttpWithBackoff
Use Httpwithbackoff with gapy in realtime and trending
Merge pull request #22 from alphagov/ga-requests-with-backoff

Ga requests with backoff