Add variable name based watches
Add variable watch test for shared breeds-own variables
Optimize for no variable watches by not looking up variable names

I saw about a 10% performance improvement. It is back to baseline performance.
Set variable watchers to null if it's empty
Comment why variable watchers doesn't use SimpleChangeEvent
Make variable watcher notification use only one hash lookup