Dataset save calls cache purge, test for get_data_set_urls
Add test that dataset save calls cache purge, test cache purge purges correct urls for data set
Refactor to make testing easier and update tests
Extract a decorator to disable purging requests

For tests that don't make assertions on the purge_requests mock, so that
they do not have to accept the mock as a parameter. It keeps the tests
small and obvious.
Remove unnecessary get_frontend_host_names mock

get_data_set_urls is being mocked so get_frontend_host_names will never
be called.
Changes to settings
Stop misleading use of term 'fragments' and refactor filter_empty_parameters() to join_query_strings()
WIP - move doctest into unit test
Split out all the cache purging and refactor

There are two distinct pieces of functionality involved here:

1. calculating which URLs to purge
2. sending purge requests to varnish boxes

These are now completely split out and de-coupled.

Also, as part of refactoring, new settings required for all
environments:

- VARNISH_CACHES: eg `[('http://varnish-1', 7999)]`
- APP_HOSTNAME: eg `stagecraft.preview.performance.service.gov.uk`