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.
I think the documentation standards specify that you should include ``, optional`` after the type, and not include *Defaults to True.``