cleaned up exception handling in router
cleaned up exception handling in router

also added a check to stop_all_backends, to verify that backends
actually terminate when they are asked to. no unit test yet. sorry.

peterayeni/rapidsms,caktus/rapidsms,ken-muturi/rapidsms,eHealthAfrica/rapidsms,catalpainternational/rapidsms,lsgunth/rapidsms,dimagi/rapidsms,rapidsms/rapidsms-core-dev,ehealthafrica-ci/rapidsms,dimagi/rapidsms,dimagi/rapidsms-core-dev,ehealthafrica-ci/rapidsms,eHealthAfrica/rapidsms,unicefuganda/edtrac,catalpainternational/rapidsms,ken-muturi/rapidsms,caktus/rapidsms,caktus/rapidsms,catalpainternational/rapidsms,peterayeni/rapidsms,unicefuganda/edtrac,rapidsms/rapidsms-core-dev,lsgunth/rapidsms,ehealthafrica-ci/rapidsms,catalpainternational/rapidsms,peterayeni/rapidsms,lsgunth/rapidsms,unicefuganda/edtrac,ken-muturi/rapidsms,lsgunth/rapidsms,eHealthAfrica/rapidsms,peterayeni/rapidsms,dimagi/rapidsms-core-dev