Particle Enhancements - Local Particle Trees and Models

This implements support for the ParticleScriptingInterface to update the local Particle tree when changes are made via it's API. 

As a result we get the following features:
* Particles can now have models (fbx)
* toyball.js is now much more responsive to the person with the hydra... because we see the edits to the particles without the server roundtrip.
* editParticles.js and findParticles.js can now run in the assignment-client agent.

closes #1697, closes #1698, closes #1699, closes #1700, closes #1701, closes #1702, closes #1711, closes #1710, closes #1703, closes #1704