Use context manager for catching warnings in runtests.py

I could never reproduce the DeprecationWarning thrown by Travis, e.g. in
https://travis-ci.org/tangentlabs/django-oscar/jobs/15324179
As far as I understand the warnings module, the previous code to
escalate DeprecationWarnings to exceptions should have had no effect.

With these changes, DeprecationWarnings get thrown correctly *if* used
in a single-threaded environment. As sorl-thumbnail's DeprecationWarning
is now explicitly excluded, I expect Travis CI to pass once again.