1613a98102
This corrects some definitions of the methods in the base condition class to make things more obvious to developers implementing new filters. Previously if your filter wanted to use the default `core/datafilter/filtertype` class, you still had to implement `get_filter_class` to return `null`, since it was declared as abstract. This change defines it as returning `null` by default, so this is no longer necessary. Also, this removes the default definitions for `get_condition_key` and `build_query_from_functions`, and declares them abstract. Currently it is necessary to override these to implement a functional filter so it doesn't make sense to have a useless default definition. This will not cause any breakages with existing filters. All filters must already be defining the methods that are now abstract, otherwise they will not function. Any filter that is now overriding `get_filter_class` to return `null` will continue to work as before, even though this is no longer necessary.