[#2095] Limited support for Q objects
[#2095] Limited support for Q objects

To create a filter where the result is the union of the filter conditions
rather than the intersection Django provides the Q object. Several
filters can be created using Q objects and then concatenated using the |
(logical OR) operator.

Add limited support for filtering using Q objects. See the docstring for
details.

Also refactor the existing code without changing the functionality.

akvo/akvo-rsr,akvo/akvo-rsr,akvo/akvo-rsr,akvo/akvo-rsr