fix up _read behaviour and add 'close' event
emit 'close' events on errors (and only once)
update to 2.1.0 adapter spec