Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.
Instead of having scene add/remove collision events directly to the OdeScene collision event dictionary, marshall them via a change dictionary first.

This is to avoid a complicated tri-thread deadlock on region crossing for avatars with attachments, where
1) XEngine starting up scripts can lock XEngine.m_Scripts and then try to lock OdeScene._collisionEventPrim while starting up a script due to avatar border crossing
2) An existing collision event will lock OdeScene._collisionEventPrim and then try to lock SP.m_attachments while trying to send the collision event to attachments
3) The avatar still entering the region will lock SP.m_attachments and then try to lock m_Scripts to start more attachment scripts.

ft-/opensim-optimizations-wip-extras,ft-/arribasim-dev-extras,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,QuillLittlefeather/opensim-1,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,QuillLittlefeather/opensim-1,ft-/opensim-optimizations-wip-extras,ft-/arribasim-dev-extras,TomDataworks/opensim,M-O-S-E-S/opensim,TomDataworks/opensim,RavenB/opensim,ft-/opensim-optimizations-wip-tests,TomDataworks/opensim,ft-/opensim-optimizations-wip,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,Michelle-Argus/ArribasimExtract,bravelittlescientist/opensim-performance,Michelle-Argus/ArribasimExtract,M-O-S-E-S/opensim,OpenSimian/opensimulator,RavenB/opensim,rryk/omp-server,rryk/omp-server,justinccdev/opensim,RavenB/opensim,M-O-S-E-S/opensim,RavenB/opensim,bravelittlescientist/opensim-performance,QuillLittlefeather/opensim-1,ft-/opensim-optimizations-wip-extras,ft-/opensim-optimizations-wip,rryk/omp-server,rryk/omp-server,ft-/opensim-optimizations-wip,Michelle-Argus/ArribasimExtract,BogusCurry/arribasim-dev,ft-/opensim-optimizations-wip-extras,ft-/arribasim-dev-tests,OpenSimian/opensimulator,M-O-S-E-S/opensim,bravelittlescientist/opensim-performance,ft-/opensim-optimizations-wip,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,OpenSimian/opensimulator,ft-/arribasim-dev-tests,BogusCurry/arribasim-dev,justinccdev/opensim,OpenSimian/opensimulator,ft-/arribasim-dev-extras,Michelle-Argus/ArribasimExtract,ft-/arribasim-dev-tests,RavenB/opensim,QuillLittlefeather/opensim-1,ft-/arribasim-dev-tests,ft-/arribasim-dev-extras,BogusCurry/arribasim-dev,justinccdev/opensim,QuillLittlefeather/opensim-1,OpenSimian/opensimulator,TomDataworks/opensim,ft-/arribasim-dev-extras,TomDataworks/opensim,M-O-S-E-S/opensim,justinccdev/opensim,bravelittlescientist/opensim-performance,ft-/opensim-optimizations-wip-tests,ft-/opensim-optimizations-wip-extras,ft-/arribasim-dev-tests,RavenB/opensim,OpenSimian/opensimulator,OpenSimian/opensimulator,bravelittlescientist/opensim-performance,bravelittlescientist/opensim-performance,Michelle-Argus/ArribasimExtract,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,TomDataworks/opensim,ft-/opensim-optimizations-wip-tests,QuillLittlefeather/opensim-1,justinccdev/opensim,ft-/arribasim-dev-tests,rryk/omp-server,ft-/opensim-optimizations-wip-tests,RavenB/opensim,TomDataworks/opensim,BogusCurry/arribasim-dev,QuillLittlefeather/opensim-1,M-O-S-E-S/opensim,EriHoss/OpenSim_0.8.2.0_Dev_LibLSLCC,justinccdev/opensim,M-O-S-E-S/opensim,ft-/opensim-optimizations-wip-tests,BogusCurry/arribasim-dev,BogusCurry/arribasim-dev,ft-/arribasim-dev-extras,rryk/omp-server,Michelle-Argus/ArribasimExtract