Check in of server threading mods from old repo
Implemented atomic object updates

Events are now batched in an array, which is processed on the target
object atomically. Attribute changes on an object no longer send events
immediately, instead the changes are held in a dictionary and then
transmitted as an array when KVObject.publish() is called. This allows
for more control over attribute updates, but does mean that old
automaton scripts which don't call publish() will need to be updated.
Removed remaining dependencies on gevent.  Some stuff is probably broken
Added device setup script
Fixes to device setup
Fixed a bug in event reconstruction
Fixed load firmware command
Fixed bug in event publishing
Fixed a lock conflict when publishing events
Some bug fixes affecting the console script
Cleaned up some more lock semantics
Some more bug fixes
Fixed extra OS include when building the OS
Merge pull request #3 from jbillhei/master

KV server updates