Move "stream" to "session"

Also hold the parser object and the userdata in the parser struct.
Use callbacks to handle incoming streams and stanzas

The callbacks will send the stream and stanzas via pipes to
the main management thread so it can pass decide what to do.