(PUP-2710) Check that 'b' is a Time object before accessing tv_sec method

The initial fix checked that 'a' was a Time object but not that
'b' was a Time object - incorrectly reasoning that the code would
always compare like objects. However, when a property was previously
absent, the comparison might be between a Time object and the :absent
symbol. The fix is thus to check that both sides of the equality
comparison are Time objects first.
Merge branch 'master' of https://github.com/puppetlabs/puppet