Config Refactor.

  - Modified StatusLogger.getListeners() to return an Iterable 
    instead of an Iterator for convenience.
  - Renamed BasicConfiguration to AbstractConfiguration.
  - Pulled up the toByteArray method from XML/JSONConfiguration.
  - Moved the three XML/YAML/JSONConfigurations to their own packages.
  - Created a StatusConfiguration builder for setting up StatusLogger
    and reducing redundant code.
  - Simplified constructors for configuration classes (still needs 
    work; there's a lot of commonality between the two main ones still).
  - Migrated some status logging to use parameters.
  - Fixed some potential bugs in a couple places:
    * Saw a configuration element name being interpolated.
    * Modified the status dest attribute to be interpolated.
    * Prevented an NPE if the given file URI for the status logger 
      doesn't exist.

git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk@1580734 13f79535-47bb-0310-9956-ffa450edef68