(#7165) Properties can invalidate scheduled refreshes on change

An invalidate_refreshes option can now be specified on newvalue calls inside
type definitions.  When a property is changed to a value with this option set,
it causes all currently scheduled refreshes (from notify or subscribe) to be
discarded after evaluation of the resource.

This is designed for instances where a file resource is changed and refreshes
a service resource.  The service itself would then be evaluated, the service is
started and then it would be refreshed, causing an additional restart.  This
change allows a type definition to specify that a property change to a
particular value invalidates certain needless refreshes.
(#7165) Invalidate refreshes after services are started

After a service is started (ensure transitions to :running), discard all
scheduled refreshes which would otherwise cause a restart immediately after it
had started.

This enables the pattern of a file notifying a stopped service resource, which
simply deploys the file, starts the service and leaves it running.
Merge branch 'domcleal-tickets/master/7165-invalidate-refreshes'

* domcleal-tickets/master/7165-invalidate-refreshes:
  (#7165) Invalidate refreshes after services are started
  (#7165) Properties can invalidate scheduled refreshes on change

closes #1459