Fixes race condition in Python server shutdown
Fixes race condition in Python server shutdown

When we set the call state to "CANCELLED" after
grpc_cancel_all_calls, we would block other start batch
operations from happening. The rpc_state for the cancelled
call would still be in the server's rpc_states set, but it
would never get removed because there were no active batches
for the call, and the only place we remove from rpc_states is
when a batch completes.

It is better to rely on c-core's cancellation. Once a call
is cancelled, all subsequent ops on that call will return
immediately with a cancellation error.

The RLock() change is due to the possibility that
_on_call_completed
gets invoked immediately when the call has already completed when the
rpc_future callback is created.

sreecha/grpc,ctiller/grpc,thinkerou/grpc,fuchsia-mirror/third_party-grpc,stanley-cheung/grpc,sreecha/grpc,ejona86/grpc,carl-mastrangelo/grpc,simonkuang/grpc,muxi/grpc,donnadionne/grpc,jboeuf/grpc,murgatroid99/grpc,ncteisen/grpc,jtattermusch/grpc,sreecha/grpc,thinkerou/grpc,geffzhang/grpc,grpc/grpc,grpc/grpc,kpayson64/grpc,murgatroid99/grpc,ejona86/grpc,murgatroid99/grpc,Vizerai/grpc,jboeuf/grpc,jtattermusch/grpc,muxi/grpc,fuchsia-mirror/third_party-grpc,dgquintas/grpc,firebase/grpc,vjpai/grpc,stanley-cheung/grpc,mehrdada/grpc,ncteisen/grpc,simonkuang/grpc,donnadionne/grpc,grpc/grpc,deepaklukose/grpc,PeterFaiman/ruby-grpc-minimal,stanley-cheung/grpc,pszemus/grpc,jtattermusch/grpc,mehrdada/grpc,ctiller/grpc,murgatroid99/grpc,sreecha/grpc,stanley-cheung/grpc,donnadionne/grpc,ctiller/grpc,donnadionne/grpc,nicolasnoble/grpc,mehrdada/grpc,ejona86/grpc,murgatroid99/grpc,chrisdunelm/grpc,mehrdada/grpc,geffzhang/grpc,nicolasnoble/grpc,PeterFaiman/ruby-grpc-minimal,thinkerou/grpc,kpayson64/grpc,pszemus/grpc,chrisdunelm/grpc,fuchsia-mirror/third_party-grpc,jboeuf/grpc,nicolasnoble/grpc,deepaklukose/grpc,jboeuf/grpc,muxi/grpc,Vizerai/grpc,muxi/grpc,firebase/grpc,pszemus/grpc,ncteisen/grpc,kpayson64/grpc,mehrdada/grpc,chrisdunelm/grpc,muxi/grpc,pszemus/grpc,pszemus/grpc,donnadionne/grpc,sreecha/grpc,carl-mastrangelo/grpc,sreecha/grpc,firebase/grpc,simonkuang/grpc,sreecha/grpc,mehrdada/grpc,ncteisen/grpc,jboeuf/grpc,sreecha/grpc,carl-mastrangelo/grpc,stanley-cheung/grpc,pszemus/grpc,jtattermusch/grpc,ejona86/grpc,jboeuf/grpc,geffzhang/grpc,muxi/grpc,geffzhang/grpc,stanley-cheung/grpc,sreecha/grpc,kpayson64/grpc,carl-mastrangelo/grpc,muxi/grpc,dgquintas/grpc,ncteisen/grpc,dgquintas/grpc,simonkuang/grpc,muxi/grpc,firebase/grpc,chrisdunelm/grpc,vjpai/grpc,Vizerai/grpc,fuchsia-mirror/third_party-grpc,dgquintas/grpc,ncteisen/grpc,pszemus/grpc,grpc/grpc,donnadionne/grpc,mehrdada/grpc,muxi/grpc,jboeuf/grpc,ncteisen/grpc,mehrdada/grpc,grpc/grpc,carl-mastrangelo/grpc,ejona86/grpc,jtattermusch/grpc,fuchsia-mirror/third_party-grpc,PeterFaiman/ruby-grpc-minimal,jboeuf/grpc,ejona86/grpc,ctiller/grpc,dgquintas/grpc,chrisdunelm/grpc,fuchsia-mirror/third_party-grpc,stanley-cheung/grpc,Vizerai/grpc,deepaklukose/grpc,deepaklukose/grpc,firebase/grpc,jboeuf/grpc,simonkuang/grpc,dgquintas/grpc,murgatroid99/grpc,stanley-cheung/grpc,thinkerou/grpc,Vizerai/grpc,thinkerou/grpc,nicolasnoble/grpc,pszemus/grpc,fuchsia-mirror/third_party-grpc,fuchsia-mirror/third_party-grpc,ejona86/grpc,kpayson64/grpc,Vizerai/grpc,carl-mastrangelo/grpc,jtattermusch/grpc,mehrdada/grpc,jboeuf/grpc,carl-mastrangelo/grpc,donnadionne/grpc,ejona86/grpc,stanley-cheung/grpc,kpayson64/grpc,ejona86/grpc,vjpai/grpc,nicolasnoble/grpc,deepaklukose/grpc,PeterFaiman/ruby-grpc-minimal,donnadionne/grpc,firebase/grpc,carl-mastrangelo/grpc,Vizerai/grpc,thinkerou/grpc,kpayson64/grpc,kpayson64/grpc,ncteisen/grpc,ncteisen/grpc,simonkuang/grpc,donnadionne/grpc,murgatroid99/grpc,thinkerou/grpc,pszemus/grpc,simonkuang/grpc,mehrdada/grpc,jtattermusch/grpc,firebase/grpc,PeterFaiman/ruby-grpc-minimal,carl-mastrangelo/grpc,stanley-cheung/grpc,simonkuang/grpc,mehrdada/grpc,ctiller/grpc,kpayson64/grpc,jboeuf/grpc,fuchsia-mirror/third_party-grpc,dgquintas/grpc,grpc/grpc,geffzhang/grpc,fuchsia-mirror/third_party-grpc,vjpai/grpc,jtattermusch/grpc,Vizerai/grpc,muxi/grpc,nicolasnoble/grpc,pszemus/grpc,chrisdunelm/grpc,PeterFaiman/ruby-grpc-minimal,grpc/grpc,firebase/grpc,ncteisen/grpc,geffzhang/grpc,grpc/grpc,donnadionne/grpc,stanley-cheung/grpc,ncteisen/grpc,nicolasnoble/grpc,dgquintas/grpc,nicolasnoble/grpc,ctiller/grpc,jtattermusch/grpc,geffzhang/grpc,nicolasnoble/grpc,chrisdunelm/grpc,Vizerai/grpc,ctiller/grpc,jtattermusch/grpc,Vizerai/grpc,ctiller/grpc,murgatroid99/grpc,chrisdunelm/grpc,ejona86/grpc,geffzhang/grpc,dgquintas/grpc,carl-mastrangelo/grpc,thinkerou/grpc,deepaklukose/grpc,jtattermusch/grpc,jtattermusch/grpc,muxi/grpc,murgatroid99/grpc,vjpai/grpc,vjpai/grpc,ctiller/grpc,simonkuang/grpc,dgquintas/grpc,murgatroid99/grpc,PeterFaiman/ruby-grpc-minimal,kpayson64/grpc,mehrdada/grpc,muxi/grpc,jboeuf/grpc,deepaklukose/grpc,grpc/grpc,ctiller/grpc,PeterFaiman/ruby-grpc-minimal,ejona86/grpc,PeterFaiman/ruby-grpc-minimal,vjpai/grpc,vjpai/grpc,thinkerou/grpc,donnadionne/grpc,sreecha/grpc,chrisdunelm/grpc,ejona86/grpc,kpayson64/grpc,chrisdunelm/grpc,vjpai/grpc,sreecha/grpc,nicolasnoble/grpc,dgquintas/grpc,stanley-cheung/grpc,firebase/grpc,nicolasnoble/grpc,grpc/grpc,ctiller/grpc,ncteisen/grpc,sreecha/grpc,thinkerou/grpc,Vizerai/grpc,vjpai/grpc,chrisdunelm/grpc,firebase/grpc,firebase/grpc,deepaklukose/grpc,thinkerou/grpc,PeterFaiman/ruby-grpc-minimal,carl-mastrangelo/grpc,deepaklukose/grpc,thinkerou/grpc,pszemus/grpc,grpc/grpc,pszemus/grpc,vjpai/grpc,grpc/grpc,donnadionne/grpc,geffzhang/grpc,ctiller/grpc,firebase/grpc,carl-mastrangelo/grpc,vjpai/grpc,nicolasnoble/grpc