Update splinter, add more helpful error diagnosis
Add striped rate-limiting

Slowness for a single data-set should not result in resource-exhaustion
for the other data sets. This is a resilience measure.

Allow up to 100 requests per minute, with bursting to 5 requests per
second.

We are doing this in the application since we have the knowledge about
URLs in here, rather than in Varnish or nginx.

We need to set rate-limiting high for tests, otherwise the tests fail as
the rate-limiting kicks in.
Tests for auto ids, includes failing test for integer

This failing test describes the bug we're getting.
fix for auto id bug - verifying test is now passing
Merge pull request #362 from alphagov/fix-integer-auto-id-error

Fix integer auto id error
Merge pull request #361 from alphagov/feature/update-splinter

Update splinter, add more helpful error diagnosis
Defend against zip bombs

A zip bomb is a specially crafted file which expands to take up large
amounts of CPU time, disk space or memory.

The most well-known example of this is the 42.zip which is a zip file
consisting of 42 kilobytes of compressed data, containing five layers of
nested zip files in sets of 16, each bottom layer archive containing a
4.3 gigabyte (4 294 967 295 bytes; ~ 3.99 GiB) file for a total of 4.5
petabytes (4 503 599 626 321 920 bytes; ~ 3.99 PiB) of uncompressed
data.

Since we allow upload of gzip-compressed requests, we should defend
against malicious attacks like that.

This change adds a SafeGzipDecompressor which can be configured with a
max buffer size to use, and thus limits the amount of memory that we
permit a single upload to use.

gzip bomb created by 

```
$ dd if=/dev/zero bs=1024 count=102400 | gzip > gzip-bomb.gz
```

That creates an empty file full of zeros, which is 100M uncompressed,
but compressed down to a 100K gzip file.
Merge pull request #359 from alphagov/feature/rate-limiting

Add striped rate-limiting
Don’t build housekeeping branches in travis

Minor change to try to be a good travis citizen and avoid unnecessary
builds.

The deployed-to-{env} branches are used by us internally to compare what
we’re about to deploy. Those versions of the code will have already been
built in travis when we merged the pull request from a topic branch.
Merge pull request #360 from alphagov/feature/gzip-bomb

Defend against zip bombs
Merge pull request #363 from alphagov/feature/save-the-planet

Don’t build housekeeping branches in travis