Test Case for #132

Manually resolved from cherry pick. Orginal by @jimpot 72e74f3669bc
Fix MultipleChoiceFilter for non-required fields

MultipleChoiceFilter skips filtering if the number of choices of the filter are equal to the number of choices of the field. The reason behind this is probably that if all choices are allowed then filtering doesn't make any sense. That is correct of the field is required to have a value, but not if the field can be empty. In that case it will fail to filter out the records that don't have any value at all. This patch fixes MultipleChoiceFilter so that it only optimises the case were a value is required.
Adjust old test for #20
Adjust test showing short circuit issue

With filtering now only short circuited with required=True we need to add that here to demonstrate the issue.
Added `always_filter` and `is_noop` to MultipleChoiceFilter
Merge pull request #185 from carltongibson/short-circuit-issue

Correct logic for short circuit on MultipleChoiceFilter