chef-client should never send negative values for duration to reporting; fixes 1765

The duration can be negative if a resource changes the system's time.
We should return 0 duration instead to indicate that something unusual happened.
Ensure reported elapsed_time is nonnegative.
don't return negative time
Return values with Time class after stubbing :now of Time.
Update CHANGELOG with information about bug fix.
Merge pull request #1772 from opscode/chef-1765

chef-client should never send negative values for duration to reporting