Use DynamicFilterData objects to hold filter data

DynamicFilterData objects are sent through
ResteasyProviderFactory to the filter. This allows
us to keep the logic and data in the filter data
class, and only do interception in the interceptor,
and only filter in the filter.