this new implementation reduces code size, and also reduces stack
usage, while avoiding the gcc union stack bug
Note that we will gain even more when we move to the new protocol
version, especially in terms of code size
git-svn-id: https://arducopter.googlecode.com/svn/trunk@3200 f9c3cf11-9bcb-44bc-f272-b75c42450872