Deal with some empty MultiFieldSelectors corner cases

Make it logically false when empty, too.
Allow diff on completely filtered collections to pass

This would previously throw:

    ======================================================================
    FAIL: test_filtered_collection_compare (test_mfs_diff.TestDiffWithMultiFieldSelector)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/home/samv/projects/normalize/tests/test_mfs_diff.py", line 344, in test_filtered_collection_compare
        {},
      File "/home/samv/projects/normalize/tests/test_mfs_diff.py", line 108, in assertDifferences
        differences = set(str(x) for x in iterator)
      File "/home/samv/projects/normalize/tests/test_mfs_diff.py", line 108, in <genexpr>
        differences = set(str(x) for x in iterator)
      File "/home/samv/projects/normalize/normalize/diff.py", line 524, in compare_collection_iter
        id_args = options.id_args(coll_type.itemtype, fs_a)
      File "/home/samv/projects/normalize/normalize/diff.py", line 314, in id_args
        options['selector'] = self.compare_filter[any]
      File "/home/samv/projects/normalize/normalize/selector.py", line 514, in __getitem__
        assert len(self.heads) == 1, "can't compare filtered collection"
    AssertionError: can't compare filtered collection

This strange exception happens to be right, but actually the code should
simply skip comparing anything in this case anyway.

Closes #45