fixed block passing in execute_download
setup a stdout appender for debugging
implemented connect/disconnect events
implemented connection event message; cleaner stop
refactored request into base message class; added response
let Message.new generate ids
allow passing custom headers in constructor
fixed message parsing
fixed api interfaces
version bump to 0.4.0