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; both locally and on Travis.