A superclass for filters (closes #64)

Define filters as callable objects with operator() There are also some default filters for ids, names and types.
I further replaced occurrences of the old filters with the new ones. However, it is still possible to pass a user defined lambda instead of the new filters.