DecayingSample takes time_point in ctor and uses time_point

Address JIRA RIPD-395

Switches a number of places in Resource::Logic to use abstract_clock::now()
which returns a time_point.  Unfortunately Resource::Logic tracks time
locally also, but with ints, not time_point.  So Resource::Logic uses a
delicate mix of abstract_clock::now() and abstract_clock::elapsed() with
this commit.  That inconsistency could be addressed in a second commit.
I think we're getting to the point where we need to use constexpr, and fake constexpr with const on vc++.  constexpr does exactly what we need here:  promise that this is a compile-time constant (well, the zero example anyway).  And faking it with const on vc++ would be no worse than what we have here now.