Accept anything castable to tuple in SetAll command rather than type-checking.

(cherry picked from commit 0423cf8652d5b3627135f59ec65f57658e435ab8)
Use address instead of fixture to refer to addresses.

(cherry picked from commit ac3f2d372b5eb8e837b5e2d4434a3002e13effc8)
Log error instead of crashing when a SetFixture command refers to an invalid fixture.

(cherry picked from commit b3ab14eb820543b18dd78a5c50dd9a02d9d5e20a)
Make YAPPI an explicit command line argument.

(cherry picked from commit 21b6de186e06579e1e62c13ad57a5248517d4d12)
Profile Networking.write.

(cherry picked from commit f2814cb8ed944a551a3d5097d2f45ebb030c04c9)
Import sys.

(cherry picked from commit 854494aff397dc4362caa65dc0b8fdcd3d64efb2)
Use generators here and there. Hoist some variables out of inner loops.
Add profilehooks
Some performance improvements to Networking.write.

* Use a numpy-based HLS to RGB converter instead of converting each color in
  Python using colorsys and de-rezzing / caching.

* Don't use array to construct the packet since it's slower than just using
  Python lists due to the conversion overhead. Profiling showed it was faster to
  convert it in one call than incrementally.

* Cache intermediate lists as scratch space so we don't allocate a few KB of
  memory for every write (and cause GC churn).

From my profiling the average time per-call dropped from .032 to .008. Average
FPS went from 20 FPS to 28 FPS on the echodome scene.
Swap loop ordering in Networking.write to avoid re-processing strand data when multiple clients are enabled.

(cherry picked from commit a04969367185499dbf37a2468fca6a1e69ba9d81)
Calculate actual time since last frame (dt) for tick instead of theoretical time. This keeps animations proceeding in real time even when the frame rate is lagging.

(cherry picked from commit ad03624088b77fe1cdc9e6f797f8fd003ee4c51e)
Oops, colors.hls_to_rgb wasn't actually working.

(cherry picked from commit c6ce30645ec8abf9c6f7d8cff457411d62dbe126)
Don't call setup_pars in SimplexNoise on every draw. Re-generating the luminance fader is slow.

(cherry picked from commit 12ed360e64b52c2e3d1f1e6447e9d7a952bf9b0c)
Convert range() to xrange() here and there.

(cherry picked from commit f90ba461bd715135e73fd78b836c1435c46c8ddd)
Profile on_tick_timer.

(cherry picked from commit 8785e5ba660700734f412cd636811c227d255b0e)
Skip Emacs lock files in plugin_loader.py and preset_loader.py.

(cherry picked from commit b975c20a156da3cb8a40ff1dff955228952be4b0)
Speed up colors.hls_blend by allowing the caller to provide a pre-allocated result buffer. This speeds up hls_blend-based transitions from 3ms on average to 1ms on average on my machine.

(cherry picked from commit 2f2530e7ad2bf9c1089e756bcb25a960e4ef8535)
Get rid of quadratic active-checking (and the deepcopy of self.locations on every reset()) in Spiral plugin.

(cherry picked from commit b91a484f98dd2d13608cf5acb29810663bf1c9f5)
Represent Scene's list of all pixel locations as a numpy array instead of a
list. This speeds up plugins and presets that use the location list (as many
convert it to a numpy array first). In the case of Spiral presets, the draw time
drops from 40ms on average to 2ms! Transitions are much faster now.

(cherry picked from commit 2ffb616d1d5f22b90a544bf4e0d5092dfd5a90a5)
Don't get all pixel locations in the draw method of Spiral. Do it in reset() instead.

(cherry picked from commit 6a3f305cf8975b3a6c33cf2316188b1f1322970a)