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
Merge branch 'allocate-server-port' of git://github.com/ksperling/calabash-android into ksperling-allocate-server-port