xmpp/ibr2 d---------
all: generate disco features

Signed-off-by: Sam Whited <sam@samwhited.com>
ibr2: remove unused error

Signed-off-by: Sam Whited <sam@samwhited.com>
ibr2: minor package cleanup

Improve some docs, remove some bare returns, and split docs out into
their own file.

Signed-off-by: Sam Whited <sam@samwhited.com>
ibr2: use new OOB WriterTo implementation

Signed-off-by: Sam Whited <sam@samwhited.com>
all: change stream feature Parse signature

This is a breaking change that makes the function signature of the Parse
function on StreamFeatures actually do what everyone is going to
immediately do with it anyways.

It also fixes the API to make it clear that we're passing a Decoder
which we had to do anyways because if we passed a wrapped TokenReader
and the user created a new decoder from that it wouldn't have had the
start element that we pass in popped from it and would error on reachign
its end element. This wasn't happening only because we were passing the
Decoder anyways and the NewTokenDecoder function would return the
original if the TokenReader was already a Decoder.

Signed-off-by: Sam Whited <sam@samwhited.com>
all: move session Flush into TokenWriter
all: add new API to make reading tokens safer
all: add new API to make writing tokens safe
all: bump to new xmlstream and fix flushing
Revert "all: new session XML read/write API"

This reverts commit 5265955b9c79963ea0c1b9f392db0e56b6a242a8.
all: new session XML read/write API
all: update copyright message

[ci skip]
all: rewrap copyright comments/use xml.TokenReader
all: use xmlstream.TokenWriter in features

Fixes #39
all: remove use of session.Encoder method
all: make *Session an xml.TokenReader

This is less efficient than returning one when wraping it in an
xml.Decoder because the underlying decoder cannot be used, but it makes
the API nicer to use.
all: use xmlstream.TokenReader

See #14
stream: rename streamerror package to stream
I can't spell

[ci skip]
ibr2: Always send a response