Accept any Date-like object

A Date-like object includes any Ruby object which responds to `to_date`.
This means that an OrderedWeek can be instantiated with objects like
times, not strictly Dates.

Presently if you try `OrderedWeek.new(1.week.ago)`, you might be surprised
to find that the week returned will be the current week. After some time debugging
this, I found that the gem defaults to the current week if anything other than an
actual Date object is provided. These changes allow Time objects to be passed in,
and return the week containing the time.