o Set initial value of LastChange variable to initial value of all
  variables. This is probably not needed, but it helps to have a defined
  initial state.
o Be more explicit what transitions are allowed.
o Provide a way to pre-select port with --port
  (not very useful right now as libupnp does some odd choices
     - it only allows the port in range of 49152 and above; if not,
       it silently changes the port to that.
     - it does not use SO_REUSEADDR.
  )