Persistently allocate server ports to devices

This makes running against different devices (possibly at the same time)
easier by keeping a persistent mapping between device serials and ports
in ~/.calabash.yaml
Protect .calabash.yaml access with flock