new connectionTimeout constant
handleAddr works

The problem was that the protocol uses different Network Address
structures depending on which message you're using.

TODO: Give feedback that NetworkAddress should either be split into two
types, or the "optional" fields should actually be filled in all cases.