MapValue.add fires a change event on the new subobject, but if handlers are
already registered that is BAD for map-of-map or map-of-array, which didn't
have a fire() method before.  Fix that.

@rev amcculloch@
@bug W-1825224@
Merging origin/fabbott/master-pending-merge186pMapValueAdd into master