Add context managers for translations

I often use the following code template:

```python
try:
    f['pos']-=special_pos
    do_something
finally:
    f['pos']+=special_pos
```

Inevitably, I often can't be bothered to actually do the `try..finally` and so can end up with inconsistent simulation states.

This is an attempt to make the whole process easier by implementing the following syntax:

```python
with translate(f, special_pos) :
    do_something
```

or even for some applications

```python
with center(f) :
   do_something
```

Let me know if you have any thoughts...

- [x] Add context managers for translations
- [x] Add nosetests
- [x] Add context managers for rotations
- [ ] Add documentation
- [ ] Anything else?