Stream API fixes and improvements

Added internal a2_DetachStream() and A2_STREAMCLOSED error code as
an easy way of dealing with streams that can be closed before the
application releases the handle.

Destroying xinsert units (thus removing their clients) now uses
the above to deal with any open streams. (The old code was probably
meant to detach the stream handle itself, but it would only have
worked if the handle had a zero refcount at that point! That is,
any further stream operations would have segfaulted in the normal
case.)

Renamed A2_stream tobject and thandle as target* for clarity.

Added handle argument to A2_stropen_cb, as the stream handle is
not accessible from that context otherwise. (xi_stream_open()
needs it, so streams can be detached when xinsert units are
destroyed!)

Refactored a2_OpenTap() and a2_OpenSend() into a single function
internally.

Closes #124.

NOTE: Proper testing needed! See #127.