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!")
```
Why not
``from smartdispatch import utils``
like all your other imports?
also that way yo don't need the ``as``