Fixed an issue in metrics where timers accumulate.
Fixed an issue in metrics where timers accumulate.

Previously, we did not discard the `after(timeout)` future, which
results in a build-up of timers in libprocess (especially when
the timeout value is large). This updates the code to discard the
future if the metrics' futures complete.

It's still the case that we leave a very large clock tick scheduled
in libprocess for `Time::max()`, but the number of these scheduled
ticks should not grow beyond 1.

dforsyth/mesos,kaysoky/mesos,andschwa/mesos,Gilbert88/mesos,reneploetz/mesos,gsantovena/mesos,Gilbert88/mesos,kaysoky/mesos,dforsyth/mesos,kaysoky/mesos,kaysoky/mesos,dforsyth/mesos,gsantovena/mesos,chhsia0/mesos,chhsia0/mesos,reneploetz/mesos,Gilbert88/mesos,gsantovena/mesos,Gilbert88/mesos,Gilbert88/mesos,abudnik/mesos,andschwa/mesos,jpeach/mesos,jpeach/mesos,Gilbert88/mesos,jpeach/mesos,abudnik/mesos,kaysoky/mesos,gsantovena/mesos,reneploetz/mesos,andschwa/mesos,reneploetz/mesos,jpeach/mesos,abudnik/mesos,reneploetz/mesos,jpeach/mesos,abudnik/mesos,Gilbert88/mesos,andschwa/mesos,jpeach/mesos,dforsyth/mesos,reneploetz/mesos,andschwa/mesos,chhsia0/mesos,kaysoky/mesos,gsantovena/mesos,chhsia0/mesos,gsantovena/mesos,kaysoky/mesos,abudnik/mesos,andschwa/mesos,chhsia0/mesos,reneploetz/mesos,abudnik/mesos,dforsyth/mesos,jpeach/mesos,dforsyth/mesos,dforsyth/mesos,gsantovena/mesos,abudnik/mesos,chhsia0/mesos,andschwa/mesos,chhsia0/mesos