Variant: add filter field functionality

* add has_filter() to the public API
* add filters() member function to the public API
* add tests

closes #80
But that would create an iterator for every index accessed, too much overhead. Maybe better to make VariantFilters a friend of the iterator?