Use TestInteraction throughout

It makes the class definitions simpler since it returns the inputs by
default.
Re #90; add test for ActiveSupport bug

Here it is failing before 0e34d4b:

  1) TimeInteraction with a time zone with a string returns the correct value
     Failure/Error: expect(result[:a]).to eq TimeZone.parse(a)
     NoMethodError:
       undefined method `parse' for TimeWithZone:Class