added course adjustment loop

think the gps update is occurring too frequently causing noise in the
navigation algorithm.  could eliminate the noise by decreasing the
number of times the gps is read, but chose instead to create a loop
wherein gps is not read until the heading equals the bearing