Added preprocessor so can turn on and off calls to logging more easily.
Allow user to dynamically set level of logging.
Edited several logging messages.  Also, moved regular expression creation out of connection object for TCP: compile it once instead of creating a new one each time.
Added more logging.
Trying to reduce the number of times that call str on uuid.  To do so, call str on uuid once and re-use result for endpoint uuids.  Next will make similar change for event uuids.
Reducing the number of calls to str(uuid) in debug messages.
Hid logging statements emitted by emitter behind an if __debug__ check.
Memoizing result of str call on uuid.
Forgot that pre-allocated uuids to try to help try to determine
bottlenecks.  Should not have committed this code.
Disabling Waldo-specific uuids temporarily.
Changed out tcp messages.  Instead of looking for headers and footer delimiters in messages, now using message len in header.
Changes make Waldo's core libraries python3 compliant.  (Still can be run in python 2.7 mode though.)
To help determine the source of poor performance, added logging statements whenever trying to acquire and release locks.  Taking deltas shows time wasted.
Tracking when release locks.
Added to logging so can match how long each lock was held.
More logging and matched logging.
Removed logging statements.  pypy does not handle -O to turn off __debug__, and so they were interfering with performance measurements.  Separate branch, log-v4 still has logging info.