Multiple choice filtering

Hi,

This change fixes the behaviour of a MultipleChoiceField when the submitted choices are the same as the available choices.

Currently the code short circuits and returns the queryset as-is, without applying the choices. This is a bug because:

- The database field may allow NULL values, in which case the queryset returns all rows including rows where the value was NULL.

- The filter field may have been configured with fewer choices than are available on the underlying database field.

In both cases the the filter isn't applied, and the queryset may included unwanted records. Test including demonstrating how the filters aren't applied.
I'm taking it that this provides the example needed for #132.  

@jimpot IYO is there anything added by your test in [72e74f3669b](https://github.com/jimpot/django-filter/commit/72e74f3669bc1c5d40508896c1a788f60d09ab8a)? — If they're equivalent I'll prefer this version