Extract image size checking to an lib class and disable it in tests

We noticed that our tests eat a lot of memory, and on a resource constrained VM this can mean we get failures because of running out of memory.  The major cause of the errors in this case seemed to be from the validation on image_data, person, classification_featuring_image_data, edition_organisation_image_data, and edition_world_location_image_data that checks what size the image is.

To try and solve this we extract the bulk of the code from those validations to ImageSizeChecker.new.size_is? in lib, and then use any_instance stubbing to make it always return true.  We unstub this for those few tests that actually want to exercise the method for real.

In unscientific testing on my machine this reduced the unit test duration from 261s to 232s.
Defer GC and scrub ivars to speed up test suite

On my poorly old MBP:

Test suite without GC tweaks: 22m45
Test suite with GC tweaks:    19m38

So by my unscientific calculations, test suite run time is improved
by 13.7%. In theory, this should also help with memory usage, although
I have no measurements for this.
Merge pull request #256 from alphagov/no-minimagick-in-tests

Extract image size checking to an lib class and disable it in tests.  This has no related pivotal story.
Merge pull request #258 from alphagov/defer-gc

Some tweaks to speed up the test suite.  This has no related story in pivotal.