Added support for custom web socket protocols.
Added support for custom web socket protocols.

Added support for custom web socket protocols.

To add custom protocol implementation user should override get_websocket_protocol_subclass() method in WebSocketHandler subclass.
djt5019/tornado,Batterfii/tornado,Acidburn0zzz/tornado,ZhuPeng/tornado,icejoywoo/tornado,futurechallenger/tornado,nbargnesi/tornado,QuanZag/tornado,InverseLina/tornado,Batterfii/tornado,jonashagstedt/tornado,allenl203/tornado,cyrilMargaria/tornado,jehiah/tornado,akalipetis/tornado,noxiouz/tornado,mr-ping/tornado,ajdavis/tornado,lujinda/tornado,importcjj/tornado,nbargnesi/tornado,zhuochenKIDD/tornado,wsyzxcn/tornado,whip112/tornado,ListFranz/tornado,0x73/tornado,nbargnesi/tornado,304471720/tornado,wujuguang/tornado,NoyaInRain/tornado,coderhaoxin/tornado,chenxiaba/tornado,sevenguin/tornado,elijah513/tornado,gwillem/tornado,mlyundin/tornado,BencoLee/tornado,andyaguiar/tornado,djt5019/tornado,cyrilMargaria/tornado,Acidburn0zzz/tornado,wujuguang/tornado,dongpinglai/my_tornado,shashankbassi92/tornado,liqueur/tornado,SuminAndrew/tornado,cyrilMargaria/tornado,ZhuPeng/tornado,ListFranz/tornado,icejoywoo/tornado,xinyu7/tornado,legnaleurc/tornado,ZhuPeng/tornado,ifduyue/tornado,importcjj/tornado,ydaniv/tornado,yangkf1985/tornado,wxhzk/tornado-1,ydaniv/tornado,jampp/tornado,ZhuPeng/tornado,0x73/tornado,ubear/tornado,shashankbassi92/tornado,elijah513/tornado,SuminAndrew/tornado,wxhzk/tornado-1,mr-ping/tornado,sxfmol/tornado,VShangxiao/tornado,wechasing/tornado,sevenguin/tornado,Lancher/tornado,AlphaStaxLLC/tornado,shaohung001/tornado,SuminAndrew/tornado,LTD-Beget/tornado,Snamint/tornado,nbargnesi/tornado,gitchs/tornado,andyaguiar/tornado,shashankbassi92/tornado,Windsooon/tornado,tornadoweb/tornado,kippandrew/tornado,jparise/tornado,cyrusin/tornado,legnaleurc/tornado,johan--/tornado,yuezhonghua/tornado,LTD-Beget/tornado,jampp/tornado,zguangyu/tornado,jsjohnst/tornado,drewmiller/tornado,Lancher/tornado,elelianghh/tornado,304471720/tornado,ColorFuzzy/tornado,Snamint/tornado,legnaleurc/tornado,Callwoola/tornado,sevenguin/tornado,Batterfii/tornado,AlphaStaxLLC/tornado,zguangyu/tornado,andyaguiar/tornado,Geoion/tornado,xinyu7/tornado,jparise/tornado,xinyu7/tornado,elijah513/tornado,shashankbassi92/tornado,elelianghh/tornado,drewmiller/tornado,anjan-srivastava/tornado,chenxiaba/tornado,QuanZag/tornado,Snamint/tornado,elijah513/tornado,jehiah/tornado,sevenguin/tornado,InverseLina/tornado,z-fork/tornado,sevenguin/tornado,Lancher/tornado,noxiouz/tornado,whip112/tornado,kippandrew/tornado,zguangyu/tornado,mivade/tornado,InverseLina/tornado,VShangxiao/tornado,wsyzxcn/tornado,pombredanne/tornado,eklitzke/tornado,dongpinglai/my_tornado,dongpinglai/my_tornado,codeb2cc/tornado,Geoion/tornado,jehiah/tornado,johan--/tornado,BencoLee/tornado,arthurdarcet/tornado,anjan-srivastava/tornado,djt5019/tornado,yangkf1985/tornado,akalipetis/tornado,kangbiao/tornado,jampp/tornado,bywbilly/tornado,lujinda/tornado,Drooids/tornado,arthurdarcet/tornado,codecov/tornado,noxiouz/tornado,chenxiaba/tornado,ajdavis/tornado,mr-ping/tornado,ubear/tornado,wxhzk/tornado-1,yangkf1985/tornado,jparise/tornado,Batterfii/tornado,jehiah/tornado,hhru/tornado,dsseter/tornado,Geoion/tornado,johan--/tornado,pombredanne/tornado,kangbiao/tornado,AlphaStaxLLC/tornado,allenl203/tornado,erichuang1994/tornado,obsh/tornado,legnaleurc/tornado,wechasing/tornado,zhuochenKIDD/tornado,dsseter/tornado,gwillem/tornado,codeb2cc/tornado,InverseLina/tornado,noxiouz/tornado,304471720/tornado,Windsooon/tornado,chenxiaba/tornado,wujuguang/tornado,lsanotes/tornado,bywbilly/tornado,obsh/tornado,eklitzke/tornado,jsjohnst/tornado,dsseter/tornado,QuanZag/tornado,Fydot/tornado,anandology/tornado,fengsp/tornado,importcjj/tornado,jsjohnst/tornado,ymero/tornado,cyrilMargaria/tornado,akalipetis/tornado,frtmelody/tornado,Fydot/tornado,takeshineshiro/tornado,eklitzke/tornado,gwillem/tornado,Fydot/tornado,dsseter/tornado,dongpinglai/my_tornado,insflow/tornado,Lancher/tornado,gwillem/tornado,Acidburn0zzz/tornado,arthurdarcet/tornado,liqueur/tornado,bdarnell/tornado,codeb2cc/tornado,akalipetis/tornado,coderhaoxin/tornado,akalipetis/tornado,icejoywoo/tornado,kevinge314gh/tornado,Drooids/tornado,yuezhonghua/tornado,ovidiucp/tornado,NoyaInRain/tornado,gitchs/tornado,BencoLee/tornado,jonashagstedt/tornado,ColorFuzzy/tornado,mivade/tornado,ColorFuzzy/tornado,sxfmol/tornado,mlyundin/tornado,lilydjwg/tornado,mivade/tornado,yangkf1985/tornado,0x73/tornado,Acidburn0zzz/tornado,shaohung001/tornado,frtmelody/tornado,kippandrew/tornado,codecov/tornado,hzruandd/tornado,hzruandd/tornado,LTD-Beget/tornado,QuanZag/tornado,elelianghh/tornado,andyaguiar/tornado,bywbilly/tornado,lsanotes/tornado,allenl203/tornado,eklitzke/tornado,0x73/tornado,BencoLee/tornado,NoyaInRain/tornado,kevinge314gh/tornado,yuezhonghua/tornado,sxfmol/tornado,whip112/tornado,jparise/tornado,sxfmol/tornado,ifduyue/tornado,ovidiucp/tornado,coderhaoxin/tornado,anjan-srivastava/tornado,ColorFuzzy/tornado,bdarnell/tornado,z-fork/tornado,insflow/tornado,mehmetkose/tornado,dsseter/tornado,ydaniv/tornado,obsh/tornado,andyaguiar/tornado,kevinge314gh/tornado,yuezhonghua/tornado,dongpinglai/my_tornado,coderhaoxin/tornado,elelianghh/tornado,BencoLee/tornado,fengsp/tornado,AlphaStaxLLC/tornado,jarrahwu/tornado,insflow/tornado,shashankbassi92/tornado,hhru/tornado,icejoywoo/tornado,lsanotes/tornado,Snamint/tornado,Snamint/tornado,eXcomm/tornado,erichuang1994/tornado,fengshao0907/tornado,Lancher/tornado,pombredanne/tornado,Windsooon/tornado,xinyu7/tornado,kippandrew/tornado,Fydot/tornado,Callwoola/tornado,chenxiaba/tornado,erichuang1994/tornado,wechasing/tornado,ListFranz/tornado,tornadoweb/tornado,icejoywoo/tornado,yuezhonghua/tornado,eXcomm/tornado,futurechallenger/tornado,whip112/tornado,wxhzk/tornado-1,Geoion/tornado,erichuang1994/tornado,frtmelody/tornado,eklitzke/tornado,jampp/tornado,shashankbassi92/tornado,eXcomm/tornado,mehmetkose/tornado,codeb2cc/tornado,wsyzxcn/tornado,304471720/tornado,mehmetkose/tornado,mivade/tornado,0x73/tornado,fengshao0907/tornado,lsanotes/tornado,anandology/tornado,elelianghh/tornado,codecov/tornado,lilydjwg/tornado,zguangyu/tornado,Batterfii/tornado,anandology/tornado,bywbilly/tornado,drewmiller/tornado,shaohung001/tornado,ListFranz/tornado,ms7s/tornado,Geoion/tornado,gitchs/tornado,z-fork/tornado,wechasing/tornado,anandology/tornado,coderhaoxin/tornado,eXcomm/tornado,ifduyue/tornado,bdarnell/tornado,z-fork/tornado,kangbiao/tornado,ymero/tornado,Polyconseil/tornado,z-fork/tornado,pombredanne/tornado,takeshineshiro/tornado,frtmelody/tornado,zhuochenKIDD/tornado,304471720/tornado,mehmetkose/tornado,Batterfii/tornado,kippandrew/tornado,obsh/tornado,shaohung001/tornado,johan--/tornado,NoyaInRain/tornado,QuanZag/tornado,ms7s/tornado,codeb2cc/tornado,ms7s/tornado,obsh/tornado,icejoywoo/tornado,frtmelody/tornado,futurechallenger/tornado,frtmelody/tornado,nbargnesi/tornado,codecov/tornado,fengshao0907/tornado,mivade/tornado,importcjj/tornado,anjan-srivastava/tornado,Polyconseil/tornado,cyrusin/tornado,obsh/tornado,akalipetis/tornado,takeshineshiro/tornado,hhru/tornado,Callwoola/tornado,kangbiao/tornado,wechasing/tornado,kippandrew/tornado,fengshao0907/tornado,ms7s/tornado,LTD-Beget/tornado,ovidiucp/tornado,mlyundin/tornado,drewmiller/tornado,ajdavis/tornado,fengsp/tornado,jarrahwu/tornado,futurechallenger/tornado,ymero/tornado,hhru/tornado,legnaleurc/tornado,Drooids/tornado,erichuang1994/tornado,whip112/tornado,wsyzxcn/tornado,dsseter/tornado,wechasing/tornado,jampp/tornado,lujinda/tornado,mr-ping/tornado,ZhuPeng/tornado,LTD-Beget/tornado,mehmetkose/tornado,hzruandd/tornado,ms7s/tornado,jsjohnst/tornado,QuanZag/tornado,Snamint/tornado,pombredanne/tornado,jonashagstedt/tornado,ajdavis/tornado,liqueur/tornado,tornadoweb/tornado,futurechallenger/tornado,shaohung001/tornado,jampp/tornado,SuminAndrew/tornado,arthurdarcet/tornado,allenl203/tornado,nbargnesi/tornado,kevinge314gh/tornado,InverseLina/tornado,BencoLee/tornado,ubear/tornado,ubear/tornado,cyrusin/tornado,xinyu7/tornado,bdarnell/tornado,jsjohnst/tornado,Callwoola/tornado,lsanotes/tornado,gwillem/tornado,lujinda/tornado,ListFranz/tornado,cyrusin/tornado,SuminAndrew/tornado,drewmiller/tornado,VShangxiao/tornado,Acidburn0zzz/tornado,jsjohnst/tornado,fengshao0907/tornado,zhuochenKIDD/tornado,djt5019/tornado,insflow/tornado,anjan-srivastava/tornado,Geoion/tornado,jehiah/tornado,liqueur/tornado,erichuang1994/tornado,ymero/tornado,hzruandd/tornado,gitchs/tornado,importcjj/tornado,wsyzxcn/tornado,hhru/tornado,cyrusin/tornado,noxiouz/tornado,fengsp/tornado,takeshineshiro/tornado,mr-ping/tornado,cyrilMargaria/tornado,djt5019/tornado,allenl203/tornado,ColorFuzzy/tornado,jarrahwu/tornado,sxfmol/tornado,yuezhonghua/tornado,fengsp/tornado,chenxiaba/tornado,mlyundin/tornado,andyaguiar/tornado,Drooids/tornado,lilydjwg/tornado,liqueur/tornado,jonashagstedt/tornado,sxfmol/tornado,bywbilly/tornado,sevenguin/tornado,drewmiller/tornado,kevinge314gh/tornado,Windsooon/tornado,eXcomm/tornado,ymero/tornado,bywbilly/tornado,NoyaInRain/tornado,ms7s/tornado,mehmetkose/tornado,djt5019/tornado,ZhuPeng/tornado,jarrahwu/tornado,wujuguang/tornado,hzruandd/tornado,Polyconseil/tornado,VShangxiao/tornado,anjan-srivastava/tornado,ydaniv/tornado,Windsooon/tornado,Fydot/tornado,Polyconseil/tornado,LTD-Beget/tornado,jonashagstedt/tornado,VShangxiao/tornado,ifduyue/tornado,zguangyu/tornado,gitchs/tornado,tornadoweb/tornado,wxhzk/tornado-1,takeshineshiro/tornado,z-fork/tornado,hzruandd/tornado,elijah513/tornado,mlyundin/tornado,cyrilMargaria/tornado,ydaniv/tornado,wsyzxcn/tornado,NoyaInRain/tornado,lilydjwg/tornado,zhuochenKIDD/tornado,ubear/tornado,yangkf1985/tornado,insflow/tornado,pombredanne/tornado,dongpinglai/my_tornado,VShangxiao/tornado,ovidiucp/tornado,gitchs/tornado,ydaniv/tornado,eXcomm/tornado,yangkf1985/tornado,kevinge314gh/tornado,noxiouz/tornado,johan--/tornado,lsanotes/tornado,anandology/tornado,ColorFuzzy/tornado,ListFranz/tornado,xinyu7/tornado,InverseLina/tornado,futurechallenger/tornado,arthurdarcet/tornado,ymero/tornado,Acidburn0zzz/tornado,ovidiucp/tornado,elijah513/tornado,wsyzxcn/tornado,elelianghh/tornado,lujinda/tornado,jarrahwu/tornado,whip112/tornado,cyrusin/tornado,AlphaStaxLLC/tornado,gwillem/tornado,arthurdarcet/tornado,mlyundin/tornado,bdarnell/tornado,johan--/tornado,liqueur/tornado,AlphaStaxLLC/tornado,mr-ping/tornado,anandology/tornado,zhuochenKIDD/tornado,codeb2cc/tornado,insflow/tornado,kangbiao/tornado,Fydot/tornado,fengshao0907/tornado,Callwoola/tornado,Callwoola/tornado,fengsp/tornado,Polyconseil/tornado,wujuguang/tornado,Windsooon/tornado,importcjj/tornado,jparise/tornado,jparise/tornado,takeshineshiro/tornado,ovidiucp/tornado,ifduyue/tornado,coderhaoxin/tornado,jarrahwu/tornado,lujinda/tornado,ajdavis/tornado,ubear/tornado,kangbiao/tornado,shaohung001/tornado,Drooids/tornado,304471720/tornado,zguangyu/tornado,Polyconseil/tornado,Drooids/tornado,wxhzk/tornado-1