Address Havoc's comments.

* Listeners become functions
* Remove direct task execution + result methods in favor of 'request to run'
* Listening to values is now the prefered way to listen to values.
* BuildStructure is now designed to be serialized to local client wholesale, behind a future.
* Try to clarify execution behavior of asynch callbacks with execution contexts.