defined executor service sizing constants in CoreConstants
added ExecutorServiceUtil for executor creation and shutdown

This will allow logback-core and logback-access to both use the same
executor configuration and shutdown logic.
added LifeCycle methods and lazy executor service init to ContextBase

Since ContextBase has never before implemented LifeCycle, there are lots
of existing uses (in tests) that would need to be modified if calling
the LifeCycle methods is made a strict requirement.  By using a lazy
initialization of executor service, we can allow existing uses to ignore
the lifecycle methods, and focus our attention on those few cases where
it calling the stop method really matters.
modified LoggerContext to call super.start and super.stop
modified LogbackValve to use ExecutorServiceUtil

Previously, the executor service used here was not consistent with a
recent change to ContextBase (to allow more than one concurrent
asynchronous task).  This commit also ensures that the executor service
is shut down when the valve is stopped.
removed unused imports from LogbackValve
Merge pull request #120 from qos-ch/LOGBACK-849-alternative

Alternative approach for LOGBACK-849