Refactor VepInterpreter.pm and add SpliceNonsynonymousFilter.pm

Refer to AT-628. For ACMG report, a new vep filter is needed to remove all variants that hit neither splice sites nor non-synonymous coding sites.
The other way we could go with this is to provide a class that generically checks "categories" of vep terms.  The api could be something like is_member_of_category("nonsynonymous", $term).  That way we could add arbitrary additional categories.  But, we could also do that refactor when we need to!