Add a simple but efficient lock contextmanager

To be merged after PR #30.

To use:
```python
from smartdispatch.utils import open_and_lock
with open_and_lock("/tmp/test.txt", 'w') ad f:
    f.write("Exclusive writing. Awesome!")
```
That and the decorator `@contextmanager`. I also have another version implementing this context manager with a class instead (see this [gist](https://gist.github.com/MarcCote/8e679369a189f453eeb7)).