THRIFT-585 Wrap py:twisted calls in maybeDeferred

This avoids synchronous exceptions from the client libraries.
This is an update of the patch posted to: 
https://issues.apache.org/jira/browse/THRIFT-585

Patch: Mattias de Zalenski, James Broadhead


Testing: 
* Compiled with --gen py, --gen py:tornado, --gen py:twisted for 3 projects and visually compared results. 
* py and py:tornado output was unaffected. 
* All output has equivalent pyflakes/pylint success. 
(we have been running with the original version of this patch for 2 years. cf. https://github.com/jamesbroadhead/thrift/commit/91f5b3370cf34afab2511b972113197e2fe8a9c6)