API cleanup (separate message, error, open and close callbacks), update api docs, re-ran autobahn tests