* Write some code to allow more than one modem opened at a time.
  A solution may be a linked list of mdmopendevice's where every
  struct modems contain the fd of the related modem entry. It
  should be easy.

* in lock, write low level fn to get lock contents. Allow (conditional
  compilation) different lock styles.
