Explicitly close response iterators when finished with them; this should help us clean up memory sooner when the iterators aren't fully consumed. Fixes #1314.
Merged cherrypy/cherrypy into default
Added missing test module which deals with iterator responses.
Fixed tests which were misbehaving under Python 3.
Fixed SyntaxError which somehow slipped under the radar...
When explicitly closing an iterator while performing post-request tidyup, only do it if we were streaming the response back (otherwise, we avoid the expense of examining the iterator).

Also, if anything goes wrong while closing the iterator, we just catch any
errors and log it - we do the same thing when we call request.close too.
Merged cherrypy/cherrypy into default