Introduce match_datetime RSpec matcher.

This handles matching times avoiding any rounding issues etc.  It also
accepts any of the various time/datetime classes, and additionally
accepts strings representing a datetime.