Udp would crash if you didn't receive a message from the vehicle

the send message thread would crash with a null ptr repeatedly if you
configured for UDP but a vehicle did not send a packet quickly enough to
the GCS.
UDP (and possibly others?) would leak connections sometimes

Caused failure to connect the second time you tried to connect via UDP.

Moved the closeConnection into a finally block so it is always invoked.
Possibly a good idea to check for similar places where there are
'close type' operations - those ops should almost always be in a finally
block to prevent leaks.
Merge pull request #742 from geeksville/udpFixes

UDP and connection fixes