Bugfix for interrupted sessions.

This is a two-part fix for an issue causes a segfault when the device
disappears during operation, for example a ttyACM device which is unplugged.

The AsyncReadBuffer part avoids calling a callback after the object
owning it has destructed, and the SerialSession part avoids recreating
itself until the previous instance has finished the destructor and been
full destroyed.