Extract `Site#filter_entries` into a method object

Related to #1572, this pulls the hunk of code that's in `Site#filter_entries` into its own object using the method object pattern and simplifies it a great deal. The `filter_entries` API in the `Site` class is kept in place in order to maintain backwards compatibility.