surface position reporting decode

Hi,

for your review.

I've added the decode for surface postion messages (DF=17 subtype 5-8), with these caveats:

1. i'm not entirely sure about the math -- i can't say i understand everything i read in the bits and pieces of the spec that i've been able to find online; but i've tested it at SeaTac and visually verified the correctness.

2. i added the functions for surface position calculations by copying and modifying versions you already had rather than trying to merge the logic or refactor into same functions.  if the math is correct, i can merge them with perhaps a flag to signify surface or airborne position.

Thanks,
-Skip