Context Manager for assertRaises/assertRaisesRegexp

Twisted's default test class forces the test author to use the old style setup for writing tests for exception testing:

```python
self.assertRaises(TypeError, lambda: get_system_identifier(systemid=""))
```

While there's nothing inherently wrong with this many of PyFarm's other test cases use the new style context manager:

```python
with self.assertRaises(TypeError):
    get_system_identifier(systemid="")
```

Although this change adds support for a context manager in assertRaises and assertRaisesRegexp it does not require future test cases to always use the context manager.