Uploader crashes with repeated use on OSX

This fixes a few issues that lead to crashes when using the bootloader
multiple times on OSX. Here are the commit comments:

commit 465fee98cad43c93456d4345379f0452f41da8d7
Date:   Mon Sep 8 19:19:54 2014 -0500

    GCS Uploader: prevent crashes on repeated use
    
    On OSX when using the bootloader multiple times when
    unplugging the device between (instead of clicking
    boot), the open command locks up the GCS. This makes
    it close the previous handle first.
    
    Ideally an unplug event would trigger the close, but
    the hooks are not easily available.

commit 34e798dd22e55b6394bf98e86de9a8eb20116157
Date:   Mon Sep 8 19:11:33 2014 -0500

    GCS Uploader: prevent condition that prevents rescue
    
    If you boot the flight controller and then unplug it quickly,
    the "BOOTING" state which disables all buttons remains.
    This state normally ends once the board boots and is detected,
    but isn't a necessary state.

commit 96cba20259c2e9b901390330ac26711544fa01e8
Date:   Mon Sep 8 19:08:05 2014 -0500

    GCS Uploader: close com port when booting
    
    Keeping this open makes the bootloader not work further
    times.


I know I'll often click boot and then unplug it and then for some reason want to rescye. I end up confused with the new code, because all the buttons are gray which isn't good. You're correct it is silly behavior (of me), but the UI should still handle it. If they don't unplug the board as soon as telemetry connects it ends up in the same state as perviously.

The flash and boot button are not visible during the disconnected state, so just the two buttons I (Rescue and Open File). If they unplug the board the rescue button is useful immediately and if they don't it doesn't break anything.

... So in conclusion are you opposing this? Having the rescue button available from the time they click boot until telemetry connects?