refactor client; add message_class; manage archiver streams
more precise exception classification
in tests, log to console instead of file