adjust the ExecutorProvider to provide ScheduledExecutorService instances to allow more features in user code, and make StoppableRunnable handle interruptions a little better.

Also, remove PeriodicRunnable, as ScheduledExecutorService provides a better solution.