Selectively backport portions of new component.py
Selectively backport portions of new component.py

jimgoo/zipline-fork,stkubr/zipline,erikness/AlephOne,ronalcc/zipline,michaeljohnbennett/zipline,davidastephens/zipline,magne-max/zipline-ja,cmorgan/zipline,Scapogo/zipline,keir-rex/zipline,dmitriz/zipline,otmaneJai/Zipline,gwulfs/zipline,joequant/zipline,aajtodd/zipline,dkushner/zipline,keir-rex/zipline,michaeljohnbennett/zipline,otmaneJai/Zipline,ChinaQuants/zipline,humdings/zipline,CarterBain/AlephNull,florentchandelier/zipline,wubr2000/zipline,dmitriz/zipline,kmather73/zipline,YuepengGuo/zipline,dkushner/zipline,bartosh/zipline,umuzungu/zipline,CarterBain/AlephNull,zhoulingjun/zipline,iamkingmaker/zipline,quantopian/zipline,euri10/zipline,semio/zipline,AlirezaShahabi/zipline,MonoCloud/zipline,florentchandelier/zipline,ronalcc/zipline,DVegaCapital/zipline,wubr2000/zipline,iamkingmaker/zipline,jordancheah/zipline,erikness/AlephOne,jimgoo/zipline-fork,nborggren/zipline,nborggren/zipline,CDSFinance/zipline,Scapogo/zipline,jordancheah/zipline,CDSFinance/zipline,euri10/zipline,humdings/zipline,wilsonkichoi/zipline,DVegaCapital/zipline,enigmampc/catalyst,chrjxj/zipline,grundgruen/zipline,zhoulingjun/zipline,MonoCloud/zipline,gwulfs/zipline,mattcaldwell/zipline,semio/zipline,dhruvparamhans/zipline,AlirezaShahabi/zipline,bartosh/zipline,enigmampc/catalyst,stkubr/zipline,davidastephens/zipline,dhruvparamhans/zipline,sketchytechky/zipline,kmather73/zipline,magne-max/zipline-ja,joequant/zipline,morrisonwudi/zipline,StratsOn/zipline,aajtodd/zipline,YuepengGuo/zipline,sketchytechky/zipline,grundgruen/zipline,chrjxj/zipline,alphaBenj/zipline,cmorgan/zipline,wilsonkichoi/zipline,umuzungu/zipline,mattcaldwell/zipline,StratsOn/zipline,ChinaQuants/zipline,quantopian/zipline,alphaBenj/zipline,morrisonwudi/zipline