[1033404] Updating Blocking Bounded Queue and Bounded Queue Thread Pools fails without core-threads value
This is a partial fix for the reported issue, and contains two associated
fixes  for issues hit while working the issue.
- First, The plugin descriptor needs to specify required="false" for the
  optional simples in a map of simples, otherwise they will be set to
  required="true" by default (I don't know if this is true for all props, it
  may be, but it was definitely true for the keepalive-time map-of-simples for
  AS7 ThreadPools).  Otherwise values will be expected.  Fix this because this
  prevents the create child from working unless you sepcify keepalive-time.
- Second, a map-of-Simples in a resource configuration always generates
  a Map in the Configuration, even if the Map is "empty" because the Simples
  are all "unset" (set to null values).  This was not being handled well in
  the create resource code, where an unset map should be ignored as if the
  entire PropertyMap is "unset".  Note that an empty MapProperty in a
  configuration update should be processed, because we may be trying to unset
  one or more of Simples that currently have a value.
- Third, to work around the fact that AS can't currently handle an undefine
  (i.e update to null) of core-threads (and possibly other attributes), add
  an optimization such that we don't try to update undefined (null)
  attributes to be undefined, since they are undefined already.
- There was another issue in that the plugin code was actually modifying
  the ConfigurationDefinition held in the ResourceContext (which is a
  weakness in our design that we even let that happen).  Changed to use a
  copy of the ConfigurationDefinition (and added a copy() method in the
  Entity, migrating it from plugin code where it was previously defined).

So, the partial fix is that we can now create with empty maps and we can
update without setting core-threads to a value, leaving it unset.  But once
set core-threads can *not* be unset until the AS bug is fixed and the
fixed version is a version being managed.
eclipse classpath updates