Add time zone-aware matcher support

This is the beginning of the time zone support inside Ruy.
Some 'fields' are optional, why are we requiring all of them? Users should be able to define year only, any year with an specific month, and so on.