Support wildcards in Time patterns

* Discontinue support for TimePattern-TimePattern comparisons
* Call 'super' on compare when passed object does not respond to to_time
* Rewrite test suite to match new behavior
Could be formatted like this:

Time.new(
  self.year || time_to_local.year, 
  self.month || time_to_local.month,
  self.day || time_to_local.day, 
  self.hour || time_to_local.hour, 
  self.min || time_to_local.min,
  self.sec || time_to_local.sec, self.utc_offset
)