mwi,mwgc: fix raw GPS structure parsing

In multiwii Protocol.cpp the GPS frame is defined as:

   case MSP_SET_RAW_GPS:
     struct {
       uint8_t a,b;
       int32_t c,d;
       int16_t e;
       uint16_t f;
     } set_set_raw_gps;
     s_struct_w((uint8_t*)&set_set_raw_gps,14);
     f.GPS_FIX = set_set_raw_gps.a;
     GPS_numSat = set_set_raw_gps.b;
     GPS_coord[LAT] = set_set_raw_gps.c;
     GPS_coord[LON] = set_set_raw_gps.d;
     GPS_altitude = set_set_raw_gps.e;
     GPS_speed = set_set_raw_gps.f;

Coordinates are in 1e7 degrees, altitude in m and speed in cm/s. Mavlink wants altitude in mm, so multiply by 1000.

Swap the uint16 and int16 reads for altitude and speed and delete the heading since multwii isn't sending that.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Merge pull request #4 from koenkooi/gps

GPS support  , ignore mwiState->GPS_heading = read16(); from naze , we dont support multipe msp version yet.