Add ExternalLoggerContextRegistry.

  - Used in various bindings.
Update slf4j binding to use ELCR.
Update jcl to use ExternalLoggerContextRegistry.
Add utility method to ListAppender.
Update poms to add log4j-jdk module.
Add custom jul.Level for unit tests.
Add utility class to convert levels.
Add "javadoc" class for <a/> elements on site.
Add implementation of JUL classes.
Add unit test for JUL adaptor.
Add documentation for log4j-jdk module.
Add @since 2.1.
Make log4j-core optional for log4j-jdk.
Migrate more methods from Loader to LoaderUtil.
Fix circular class linkage in LoaderUtil.

  - As mentioned in the comments, LoaderUtil cannot reference PropertiesUtil in its static initialization block as this will cause mass errors everywhere.
Refactor log4j-jdk to make log4j-core optional.

  - Split into ApiLogger and CoreLogger.
  - LogManager.static takes care of determining which implementation is to be used.
Rename ExternalLoggerContextRegistry to LoggerAdapter.
Rename log4j-jdk to log4j-jul.
Merge branch 'master' into LOG4J2-608
Fix directory structure.