Improve websocket conformance as reported by autobahn.
Improve websocket conformance as reported by autobahn.

Of note:
* It's now possible to send binary frames (auto-switched based on
  whether the argument to write_message is bytes or unicode)
* Invalid utf8 in text frames is now an error
* Lots of fragmentation-related improvements

tornadoweb/tornado,z-fork/tornado,ListFranz/tornado,felixonmars/tornado,yangkf1985/tornado,LTD-Beget/tornado,Geoion/tornado,lilydjwg/tornado,codeb2cc/tornado,xinyu7/tornado,AlphaStaxLLC/tornado,anandology/tornado,mivade/tornado,ymero/tornado,ifduyue/tornado,djt5019/tornado,elelianghh/tornado,sunjeammy/tornado,Fydot/tornado,Drooids/tornado,yuezhonghua/tornado,eklitzke/tornado,anjan-srivastava/tornado,0x73/tornado,Snamint/tornado,cyrusin/tornado,ColorFuzzy/tornado,elelianghh/tornado,LTD-Beget/tornado,lsanotes/tornado,felixonmars/tornado,yuezhonghua/tornado,jonashagstedt/tornado,tianyk/tornado-research,akalipetis/tornado,ovidiucp/tornado,jampp/tornado,elijah513/tornado,kangbiao/tornado,yangkf1985/tornado,kaushik94/tornado,eklitzke/tornado,Fydot/tornado,noxiouz/tornado,wsyzxcn/tornado,futurechallenger/tornado,codeb2cc/tornado,elelianghh/tornado,hhru/tornado,jehiah/tornado,zguangyu/tornado,akalipetis/tornado,mehmetkose/tornado,xinyu7/tornado,Windsooon/tornado,Drooids/tornado,johan--/tornado,andyaguiar/tornado,erichuang1994/tornado,jehiah/tornado,shaohung001/tornado,ifduyue/tornado,frtmelody/tornado,ZhuPeng/tornado,0x73/tornado,hhru/tornado,lsanotes/tornado,codeb2cc/tornado,wujuguang/tornado,Lancher/tornado,dsseter/tornado,felixonmars/tornado,fengshao0907/tornado,yuyangit/tornado,SuminAndrew/tornado,kevinge314gh/tornado,kangbiao/tornado,sevenguin/tornado,cyrilMargaria/tornado,leekchan/tornado_test,mivade/tornado,wsyzxcn/tornado,jsjohnst/tornado,erichuang1994/tornado,wxhzk/tornado-1,elijah513/tornado,ZhuPeng/tornado,ovidiucp/tornado,hzruandd/tornado,wxhzk/tornado-1,icejoywoo/tornado,bufferx/tornado,allenl203/tornado,wsyzxcn/tornado,coderhaoxin/tornado,takeshineshiro/tornado,dongpinglai/my_tornado,ms7s/tornado,zguangyu/tornado,nordaux/tornado,hzruandd/tornado,pombredanne/tornado,anjan-srivastava/tornado,anjan-srivastava/tornado,drewmiller/tornado,eklitzke/tornado,Acidburn0zzz/tornado,MjAbuz/tornado,yuyangit/tornado,InverseLina/tornado,whip112/tornado,shaohung001/tornado,futurechallenger/tornado,hhru/tornado,fengsp/tornado,anandology/tornado,nephics/tornado,codecov/tornado,xinyu7/tornado,pombredanne/tornado,jonashagstedt/tornado,anandology/tornado,ymero/tornado,lsanotes/tornado,anandology/tornado,elijah513/tornado,erichuang1994/tornado,liqueur/tornado,0xkag/tornado,dsseter/tornado,mlyundin/tornado,Acidburn0zzz/tornado,z-fork/tornado,elelianghh/tornado,whip112/tornado,jonashagstedt/tornado,wechasing/tornado,Drooids/tornado,kaushik94/tornado,0x73/tornado,eXcomm/tornado,obsh/tornado,sxfmol/tornado,erichuang1994/tornado,VShangxiao/tornado,leekchan/tornado_test,ms7s/tornado,cyrilMargaria/tornado,gwillem/tornado,zhuochenKIDD/tornado,Polyconseil/tornado,Polyconseil/tornado,304471720/tornado,liqueur/tornado,bufferx/tornado,coderhaoxin/tornado,sxfmol/tornado,akalipetis/tornado,insflow/tornado,anjan-srivastava/tornado,nbargnesi/tornado,bdarnell/tornado,ListFranz/tornado,fengshao0907/tornado,lujinda/tornado,QuanZag/tornado,shashankbassi92/tornado,obsh/tornado,legnaleurc/tornado,jparise/tornado,Snamint/tornado,NoyaInRain/tornado,drewmiller/tornado,MjAbuz/tornado,z-fork/tornado,ms7s/tornado,Drooids/tornado,xinyu7/tornado,Drooids/tornado,mr-ping/tornado,Batterfii/tornado,kippandrew/tornado,icejoywoo/tornado,zhuochenKIDD/tornado,yuyangit/tornado,frtmelody/tornado,QuanZag/tornado,sunjeammy/tornado,BencoLee/tornado,jarrahwu/tornado,VShangxiao/tornado,304471720/tornado,nbargnesi/tornado,insflow/tornado,eXcomm/tornado,lilydjwg/tornado,AlphaStaxLLC/tornado,whip112/tornado,Aaron1992/tornado,akalipetis/tornado,bdarnell/tornado,sevenguin/tornado,erichuang1994/tornado,Batterfii/tornado,jonashagstedt/tornado,codecov/tornado,Geoion/tornado,andyaguiar/tornado,mlyundin/tornado,LTD-Beget/tornado,ColorFuzzy/tornado,ydaniv/tornado,eXcomm/tornado,InverseLina/tornado,ifduyue/tornado,InverseLina/tornado,arthurdarcet/tornado,gwillem/tornado,takeshineshiro/tornado,ovidiucp/tornado,ymero/tornado,shaohung001/tornado,jarrahwu/tornado,futurechallenger/tornado,mlyundin/tornado,sxfmol/tornado,nephics/tornado,fengshao0907/tornado,importcjj/tornado,Lancher/tornado,jparise/tornado,legnaleurc/tornado,tianyk/tornado-research,Fydot/tornado,gitchs/tornado,sxfmol/tornado,cyrusin/tornado,gwillem/tornado,wsyzxcn/tornado,304471720/tornado,VShangxiao/tornado,jampp/tornado,NoyaInRain/tornado,djt5019/tornado,bufferx/tornado,arthurdarcet/tornado,wechasing/tornado,drewmiller/tornado,zhuochenKIDD/tornado,0x73/tornado,lujinda/tornado,Lancher/tornado,kaushik94/tornado,kippandrew/tornado,Geoion/tornado,bywbilly/tornado,Windsooon/tornado,Geoion/tornado,ydaniv/tornado,allenl203/tornado,fengsp/tornado,ms7s/tornado,Geoion/tornado,fengsp/tornado,jsjohnst/tornado,nephics/tornado,eXcomm/tornado,nbargnesi/tornado,cyrilMargaria/tornado,icejoywoo/tornado,kippandrew/tornado,mr-ping/tornado,mivade/tornado,ListFranz/tornado,VShangxiao/tornado,shashankbassi92/tornado,frtmelody/tornado,QuanZag/tornado,whip112/tornado,ajdavis/tornado,jparise/tornado,hzruandd/tornado,ajdavis/tornado,fengshao0907/tornado,pombredanne/tornado,pombredanne/tornado,johan--/tornado,Aaron1992/tornado,chenxiaba/tornado,kevinge314gh/tornado,sunjeammy/tornado,coderhaoxin/tornado,legnaleurc/tornado,hzruandd/tornado,kippandrew/tornado,zhuochenKIDD/tornado,fengshao0907/tornado,jehiah/tornado,yuyangit/tornado,Snamint/tornado,zguangyu/tornado,ymero/tornado,Drooids/tornado,lsanotes/tornado,wujuguang/tornado,wujuguang/tornado,Lancher/tornado,mehmetkose/tornado,fengsp/tornado,codecov/tornado,bdarnell/tornado,Acidburn0zzz/tornado,wxhzk/tornado-1,frtmelody/tornado,gitchs/tornado,eklitzke/tornado,drewmiller/tornado,ubear/tornado,insflow/tornado,Callwoola/tornado,codecov/tornado,futurechallenger/tornado,whip112/tornado,johan--/tornado,Callwoola/tornado,jsjohnst/tornado,ListFranz/tornado,insflow/tornado,AlphaStaxLLC/tornado,Batterfii/tornado,whip112/tornado,AlphaStaxLLC/tornado,lilydjwg/tornado,BencoLee/tornado,sxfmol/tornado,drewmiller/tornado,Acidburn0zzz/tornado,Callwoola/tornado,yuyangit/tornado,nbargnesi/tornado,gwillem/tornado,sevenguin/tornado,shaohung001/tornado,liqueur/tornado,304471720/tornado,ColorFuzzy/tornado,takeshineshiro/tornado,lsanotes/tornado,jehiah/tornado,Acidburn0zzz/tornado,johan--/tornado,z-fork/tornado,SuminAndrew/tornado,importcjj/tornado,cyrilMargaria/tornado,MjAbuz/tornado,ovidiucp/tornado,lsanotes/tornado,akalipetis/tornado,ovidiucp/tornado,kangbiao/tornado,Fydot/tornado,lujinda/tornado,jampp/tornado,obsh/tornado,importcjj/tornado,mivade/tornado,zguangyu/tornado,wujuguang/tornado,wechasing/tornado,mr-ping/tornado,jsjohnst/tornado,yuezhonghua/tornado,NoyaInRain/tornado,MjAbuz/tornado,jparise/tornado,jampp/tornado,djt5019/tornado,fengsp/tornado,nbargnesi/tornado,legnaleurc/tornado,Windsooon/tornado,futurechallenger/tornado,chenxiaba/tornado,dsseter/tornado,MjAbuz/tornado,chenxiaba/tornado,frtmelody/tornado,LTD-Beget/tornado,dsseter/tornado,ZhuPeng/tornado,cyrilMargaria/tornado,noxiouz/tornado,mr-ping/tornado,gitchs/tornado,elijah513/tornado,leekchan/tornado_test,kippandrew/tornado,codeb2cc/tornado,yangkf1985/tornado,dongpinglai/my_tornado,yuezhonghua/tornado,jampp/tornado,ymero/tornado,eklitzke/tornado,wxhzk/tornado-1,kevinge314gh/tornado,futurechallenger/tornado,jampp/tornado,bywbilly/tornado,Batterfii/tornado,kaushik94/tornado,shashankbassi92/tornado,obsh/tornado,wxhzk/tornado-1,djt5019/tornado,ubear/tornado,obsh/tornado,tornadoweb/tornado,ydaniv/tornado,wechasing/tornado,leekchan/tornado_test,BencoLee/tornado,noxiouz/tornado,andyaguiar/tornado,dsseter/tornado,chenxiaba/tornado,cyrilMargaria/tornado,xinyu7/tornado,kippandrew/tornado,coderhaoxin/tornado,jparise/tornado,shaohung001/tornado,ydaniv/tornado,insflow/tornado,allenl203/tornado,AlphaStaxLLC/tornado,kangbiao/tornado,fengsp/tornado,gitchs/tornado,sunjeammy/tornado,akalipetis/tornado,nbargnesi/tornado,lilydjwg/tornado,sxfmol/tornado,allenl203/tornado,Snamint/tornado,wsyzxcn/tornado,dongpinglai/my_tornado,elijah513/tornado,yangkf1985/tornado,ovidiucp/tornado,Callwoola/tornado,yangkf1985/tornado,sevenguin/tornado,jonashagstedt/tornado,gitchs/tornado,ajdavis/tornado,kevinge314gh/tornado,kevinge314gh/tornado,elelianghh/tornado,bdarnell/tornado,BencoLee/tornado,takeshineshiro/tornado,coderhaoxin/tornado,Windsooon/tornado,MjAbuz/tornado,anjan-srivastava/tornado,djt5019/tornado,codeb2cc/tornado,nordaux/tornado,bufferx/tornado,eXcomm/tornado,takeshineshiro/tornado,jehiah/tornado,bywbilly/tornado,QuanZag/tornado,nordaux/tornado,andyaguiar/tornado,wechasing/tornado,arthurdarcet/tornado,ms7s/tornado,anandology/tornado,jarrahwu/tornado,ZhuPeng/tornado,jarrahwu/tornado,icejoywoo/tornado,nephics/tornado,yuezhonghua/tornado,cyrusin/tornado,xinyu7/tornado,Polyconseil/tornado,pombredanne/tornado,kevinge314gh/tornado,johan--/tornado,304471720/tornado,icejoywoo/tornado,jarrahwu/tornado,hhru/tornado,elelianghh/tornado,gwillem/tornado,dongpinglai/my_tornado,johan--/tornado,sevenguin/tornado,Aaron1992/tornado,arthurdarcet/tornado,mivade/tornado,insflow/tornado,kaushik94/tornado,tornadoweb/tornado,sevenguin/tornado,djt5019/tornado,Lancher/tornado,nordaux/tornado,importcjj/tornado,zhuochenKIDD/tornado,Polyconseil/tornado,shashankbassi92/tornado,0xkag/tornado,ubear/tornado,304471720/tornado,zhuochenKIDD/tornado,Polyconseil/tornado,jsjohnst/tornado,takeshineshiro/tornado,gwillem/tornado,cyrusin/tornado,erichuang1994/tornado,zguangyu/tornado,Polyconseil/tornado,andyaguiar/tornado,LTD-Beget/tornado,drewmiller/tornado,VShangxiao/tornado,Acidburn0zzz/tornado,importcjj/tornado,QuanZag/tornado,BencoLee/tornado,mlyundin/tornado,tianyk/tornado-research,ZhuPeng/tornado,liqueur/tornado,noxiouz/tornado,kangbiao/tornado,fengshao0907/tornado,anjan-srivastava/tornado,kangbiao/tornado,elijah513/tornado,felixonmars/tornado,NoyaInRain/tornado,nephics/tornado,wsyzxcn/tornado,noxiouz/tornado,mr-ping/tornado,ubear/tornado,ubear/tornado,dongpinglai/my_tornado,Fydot/tornado,yangkf1985/tornado,NoyaInRain/tornado,bywbilly/tornado,shashankbassi92/tornado,Batterfii/tornado,Callwoola/tornado,Aaron1992/tornado,zguangyu/tornado,ListFranz/tornado,NoyaInRain/tornado,ydaniv/tornado,dongpinglai/my_tornado,ms7s/tornado,BencoLee/tornado,cyrusin/tornado,VShangxiao/tornado,mehmetkose/tornado,liqueur/tornado,hzruandd/tornado,Callwoola/tornado,Snamint/tornado,jparise/tornado,andyaguiar/tornado,mlyundin/tornado,tianyk/tornado-research,icejoywoo/tornado,lujinda/tornado,legnaleurc/tornado,ifduyue/tornado,Batterfii/tornado,0x73/tornado,cyrusin/tornado,chenxiaba/tornado,SuminAndrew/tornado,jarrahwu/tornado,QuanZag/tornado,frtmelody/tornado,codeb2cc/tornado,eXcomm/tornado,ListFranz/tornado,jsjohnst/tornado,InverseLina/tornado,coderhaoxin/tornado,obsh/tornado,importcjj/tornado,InverseLina/tornado,ZhuPeng/tornado,felixonmars/tornado,wechasing/tornado,ubear/tornado,LTD-Beget/tornado,bufferx/tornado,chenxiaba/tornado,sunjeammy/tornado,arthurdarcet/tornado,dsseter/tornado,mlyundin/tornado,gitchs/tornado,noxiouz/tornado,yuezhonghua/tornado,0xkag/tornado,Aaron1992/tornado,Geoion/tornado,anandology/tornado,ColorFuzzy/tornado,Snamint/tornado,mehmetkose/tornado,hhru/tornado,AlphaStaxLLC/tornado,ymero/tornado,ColorFuzzy/tornado,pombredanne/tornado,nordaux/tornado,shaohung001/tornado,lujinda/tornado,wxhzk/tornado-1,bywbilly/tornado,0xkag/tornado,Windsooon/tornado,ajdavis/tornado,mehmetkose/tornado,bdarnell/tornado,wujuguang/tornado,mr-ping/tornado,tornadoweb/tornado,ydaniv/tornado,lujinda/tornado,arthurdarcet/tornado,wsyzxcn/tornado,mehmetkose/tornado,z-fork/tornado,leekchan/tornado_test,InverseLina/tornado,shashankbassi92/tornado,Windsooon/tornado,hzruandd/tornado,tianyk/tornado-research,z-fork/tornado,bywbilly/tornado,liqueur/tornado,Fydot/tornado,0xkag/tornado,ajdavis/tornado,ColorFuzzy/tornado,SuminAndrew/tornado,allenl203/tornado,SuminAndrew/tornado,ifduyue/tornado