RF: use catch_warnings for checkwarn module

Simplify code, by not checking if new filters have been loaded on top.

The code was also causing errors in python 3.3 because we weren't
restoring warnings errors correctly.