added empty NetworkException class to lib/util.py. Intended to be thrown by the emitted code and caught within Waldo itself or propagated out to the python code.
_BackoutDueToNetworkFailure backout object and _NetworkFailureCallResult objects added.
arbitrary connection timeout for connecting endpoint.
is_stopped method added to waldoEndpoint.
updated EXCEPTIONS mapping for network exception so that NetworkException is looked up in _waldo_classes. Note that in the future we should try to use the transform function in emit_utils.py instead of hardcoding the string, however right now it's too much of a pain to import emit_utils into this file.
_raise_network_exception method added to endpoint object. This currently requires backing out from all active events in the active event map (which is somehwat naive). To do this, I implemented a functional map method on the active_event_map and a _stop_event method to back out and remove an active event form the map. Additionally, I modified ActiveEvent to handle the differences between a normal backout and a network failure. The root active event was modified to account for network failure by putting a network failure call result in the event_complete queue as well.
Modified emitted code to handle network failure messages.
connection object will now tell the endpoint to raise a network exception when it tries to read from the socket and gets an empty message unexpectedly (stop has not been called). This should only happen when the socket has been closed.