Add builder class to HtmlLayout and update unit tests.

git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk@1597650 13f79535-47bb-0310-9956-ffa450edef68
Specify default values in builder class.

  - This is more of a temporary measure until I can think up 
  something more elegant (most likely involving a separate 
  @PluginBuilderAttribute annotation or something).

git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk@1597651 13f79535-47bb-0310-9956-ffa450edef68
Update PluginBuilder to work with builder classes as well as factory 
methods.

  - Removed some unnecessary class fields and prefer passing through 
  method parameters.
  - Removed the strange withFactoryMethodAnnotatedBy method.
  - Renamed init() to verify() to better reflect updated usage.
  - Try to use builder first if one can be found. Fall back to 
  factory method otherwise (as usual).
  - Migrated logic from withFactoryMethodAnnotatedBy to 
  findFactoryMethod with hard-coded reference to PluginFactory.
  - Added createBuilder and injectFields methods for builder-style 
  plugin creation. (The Builder<T> interface turned out to be handy 
  here).
  - Renamed helper local variable to visitor (refactoring didn't 
  catch that when I renamed PluginHelper to PluginVisitor before 
  committing).

git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk@1597653 13f79535-47bb-0310-9956-ffa450edef68
Rename PatternLayout.custom() to PatternLayout.newBuilder().

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