Changed AbstractDateFilter implementation to be more extendable and updated child filters
This also includes:
- Filter date range when only start or end is given (Fixes #408)
- Filter based on (NOT) NULL (Fixes #162)
- Unit tested