created spec to test wrapping a collection with multiple filters
abstracted most of the filter functionality into a base class
abstracted more of the collection filter code into the base class

next steps: provide custom implementation for decorator constructor so
we can have a simpler new Decorator(collection/otherDecorator, options);