store GIL state in temp variable to safely keep it across generator yields (fixes ticket 803)

--HG--
extra : rebase_source : 5fd93f1cf2916c987bfc4a4d410bf4a77afb2ac9
avoid GIL state temp overhead in sections that do not contain yields

--HG--
extra : rebase_source : 9be74b8a1d6509acf415bf667558a635b38a902f
changelog

--HG--
extra : rebase_source : 889ca43dd6769a6208f8c69e36f2103468b3b546
fix 'with nogil' blocks inside of generators in C++ mode