Extend ActiveSupport::TimeWithZone the same way we extend Time

We were having an issue where we were calling `#business_time_until` on an `ActiveSupport::TimeWithZone`, but the calls were being delegated down to the internal `Time` instance and the time zone was being ignored. 

Our solution was to pull out the `Time` extensions into a module, and mix that in to both `Time` and `ActiveSupport::TimeWithZone` -- the gem has a dependency on ActiveSupport so we thought it was okay to assume that existed.

This may also resolve #70.