Added failing test showing problems using error_page handlers and serve_file. Taken from submitted ticket in #1288.
Use is_iterator function to determine if the response content is iterable, rather than just testing if it is a generator.

This is in preparation for a fix for #1288. Note - we could test against
collections.Iterator, but this seems like a cleaner way of doing it for now.
We now handle iterators when returned by error page handlers. Fixes #1288.
Fix tests which were still broken after the fix for #1139 was introduced.
Merged cherrypy/cherrypy into default
Update test_states so some tests can run in isolation without requiring side-effects from sibling tests. Fixes #1197.
Although already fixed, use the submitted regular expression to simplify code to correctly parse headers which have quotas in their field value. Fixes #1079.

Simplified code submitted by holm@podio.com.
This ticket is linked to #1146.
Merge with default - also fixing conflict in test file when merged.