Prevent `log4j2.isWebapp` from overriding other constants

Currently, if `log4j2.isWebapp` is enabled, the effective values of the
following system properties:

* `log4j2.enableThreadlocals`,
* `log4j2.garbagefreeThreadLocalMap`,
* `log4j2.shutdownHookEnabled`.

is set to `false`.

After this PR:

* the above mentioned constants are set to the value **explicitly** set
  by the user,
* if the user didn't provide any value `!log4j2.isWebapp` is used.
18 files changed