Add custom equality function as walk_together argument

The `walk_together` function is very useful for iterating over multiple VCF files. However, it breaks in some cases (e.g. comparing multiple single - sample VCF files with one containing reference calls) due to its definition of VCF record equality (which sometimes may be too strict).

This pull request adds the ability to use user-defined equality functions (e.g. if we want to compare only on Record positions and reference bases), while still leaving the original behavior intact. I should mention that this comes at a cost of a rather clunky usage of `**kwargs`, but I think this is an acceptable trade off.

New test cases against this change have also been added and feedbacks are very welcomed :).