Attempt to reduce code duplication with the addition of a very simple "Service" implementation
This is designed to help with anything that has a started/stopped lifecycle.
Within threadly we are able to reduce code duplication within the PriorityScheduler, the SingleThreadScheduler, and the BlockingQueueConsumer.  Some of these changes will not be fully realized until 3.0.0.