Switch on flatten for everything

We were down to the last module as part of the switch over to flat
group_by data, so I migrated the addition of the flatten=true query
parameter from each individual module/collection into the data source.

This should make pulling it a little easier and ensures that all
requests will have this parameter provided (as everything uses
data_source).

This maintains the ability of a particular module to override this query
parameter as it as the json from stagecraft and any custom query
parameters get merged over the top.

I've hidden this behind a flag that is passed through to DataSource from
any instance of Collection. This has been done so that we don't have to
immediately move all of the test fixtures to representing flatten data
rather than the nested data. This will be done but decoupled from
enabling flatten for all.

I've had to switch completion to ask for whether it is flatten on demand
as it was trying to set up its own datasource and store the property.
Not sure why it was doing that.