Add strict argument to DissimilarityMatrix.filter

The filter method can now take a strict boolean value that will ignore IDs that
are not found in the distance matrix `if strict == False`, in other case it
will raise a MissingIDError (this is the default behaviour).

The reason why I added this option is because I was working with a mapping file
and I wanted to filter out all the samples that were not found in my mapping
file however I couldn't do it because as it is to be expected mapping files
usually have many more samples than distance matrices.
Can you do ``pass`` instead of ``continue`` here? It is functionally identical, but I think more clear because ``continue`` means *do something*, where ``pass`` means *do nothing*. Throughout the code base we typically use ``pass`` in cases like this.