Committing initial gps sensor integration before clean up.

It's not cleaned up because I would have 'shelved' this so that I don't break something cleaning it up, but the shelf set integration is horrible.