Merge timer and timeprovider to fix timer leak

[#83086162]

Signed-off-by: Michael Fraenkel <fraenkel@us.ibm.com>
Use WatcherCount to synchronize fake timer registration

[#83086162]

Signed-off-by: Ted Young <tyoung@pivotal.io>
Rename timeprovider.Time() --> timeprovider.Now()

[#83086162]

Signed-off-by: Ted Young <tyoung@pivotal.io>