MRG: Cleaner tests

In the process of working on #253 I was a little bit surprised by the number of warnings during testing. This cleans that up, and fixes a couple minor errors along the way.

Ready for review/merge.
Aha - how about a custom sub-class ``suppress_warns`` that also does ``filterwarnings('ignore')``?

```
class suppress_warns(catch_warnings):
    """ Version of ``catch_warnings`` class that suppresses warnings
    """
    def __enter__(self):
        res = super(suppress_warns, self).__enter__()
        simplefilter('ignore')
        return res
```