joran.spi.Pattern  split into spi.ElementPath and spi.ElementSelector
stricter separation between ElementPath and ElementSelector usage
all tests pass
add missing class
LOGBACK-300: Added Import-Package for core.rolling and core.rolling.helper.
Imports of Jetty and Tomcat packages are optional as you normally can not satisify both (typically there is either Tomcat or Jetty present as OSGi web container).
Merge pull request #119 from christianbrensing/LOGBACK-300

LOGBACK-300: Fixed OSGi-Manifest
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.
minor housekeeping changes
removed unused imports from LogbackValve
Merge pull request #120 from qos-ch/LOGBACK-849-alternative

Alternative approach for LOGBACK-849
moved MockContext and MockExecutorService to ..core.net.mock
added missing doc comments to MockExecutorService
fixed references to MockContext in test classes
removed old SocketAppenderTest from classic and access

These test classes were really testing SocketAppenderBase not
SocketAppender, per se.  The new implementation of SocketAppenderBase is
significantly different and will require a new unit test suite.
improved SocketAppenderBase

SocketAppenderBase now uses SocketConnector for its (re-)connection
logic, and uses an asynchronous task to dispatch events to the remote
receiver.  A configurable queue is utilized to relay logging events from
the append method to the dispatch task.  When the queue length is zero
(the default), a SynchronousQueue is utilized, preserving the previous
appender behavior.  When the queue length is greater than zero, a
bounded queue is utilized, allowing the appender to efficiently drop
logging events when remote receiver (or network) cannot keep up with the
rate of logging events delivered to the appender.
modified concrete appenders to use appropriate constructors

Mutable fields in SocketAppenderBase were previously exposed as
protected fields and modified by constructors in concrete subclasses.
This commit improves encapsulation of the base class by exposing
protected constructors for subclasses to invoke rather than directly
exposing the fields.  These new constructors are marked as deprecated,
as the convenience constructors on the base classes (which are also
deprecated) are the sole reason for their existence.  A future release
should remove all but the no-arg constructor from the base class and
subclasses.