UDP and connection fixes

Hi Arthur,

While testing the droneshare stuff I've been using UDP and discovered a couple of issues.  I these fixes would be useful.

* 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.