Fixed #4444 - Made runserver suppress 'broken pipe' errors

I have posted about this pull request on the django-developers mailing list at https://groups.google.com/forum/#!topic/django-developers/_oC_PAxxnQI . I did this because there is a very old existing wontfix ticket ([#4444](https://code.djangoproject.com/ticket/4444)) on this topic and so am hopefully following the contribution guidelines.

Ticket #4444 was opened in May 2007, and marked wontfix in September 2007 saying "The best we could is to have a more explicit error message." - hopefully this might count as such an error message :smile:

This pull request builds upon a previous patch posted to the django-developers list and outputs "Broken pipe" instead of a traceback for such an error. I get these frequently (e.g. hit refresh before your previous page has finished loading to sometimes get it).

I hope this can be considered for inclusion, as I think it tidies up a common issue with runserver output that will especially confuse people new to Django. Do let me know if I've gone about fixing it in the wrong way, or if I should do something differently.
is it possible to move:
```
exc_type, exc_value = sys.exc_info()[:2]
    if issubclass(exc_type, socket.error) and exc_value.args[0]==32:
```
to a helper method so we needn't repeat it in two places?