allow callable objects to be passed into before/after options

since dates passed at the class level would not be evaluated at run time, if you are referencing `Date.today` or `DateTime.now` those would not be evaluated properly. This will accept a callable value for the `:before` and `:after` options.
I didn't think about that. If you have to define respond_to? then I might not bother.