Merge pull request #944 from kubark42/fix-kml-unicode

Fix libkml export on non-ASCII character set.
Introduced new UAVOs in preparation for path planning refactor.
Removed fixed-wing settings aimed specifically at CC. This was no longer
necessary.
Added path manager module. The path manager's function in the navigation
hierarchy is to pass the appropriate path segment to the path follower, and
monitor the path follower's progress.

Several new functions were introduced into misc_math. These functions
calculate certain geometries which are useful for dubins paths.

Lastly, three sample paths were provided. 1) A return home, 2) a position
hold, and 3) an example path that can be used as a base for further
path programming.
Refactored path planner. The path planner's role in navigation is to take
user-defined waypoints and provide a path that connects them together.

The path planner is supplied with two algorithms, "direct" and "direct-
with-filleting".

"Direct" goes directly to the waypoint, no matter how severe the
angle between two consecutive waypoints.

"Direct-with-filleting" adds fillets
to the direction changes, in order to provide smoother, more realistic
paths for dubins cart vehicle classes, i.e. vehicles that have a minimum
turn radius.
Refactored fixed-wing path follower to use math from known good version.
Added UAVOs to Navigation category.
Added support for new navigation chain to FlyingF3 target. An option was
provided to easily disable the path planner.
Added library for computing atmospheric conditions.
Exported path followers to library.
Added path follower and atmospheric math libraries to FlyingF3 target.
Changes requested in review:

1) More (and better) documentation
2) Remove typedefs
3) Change sign() to SIGN()
4) Several other formatting and minor changes
Changes requested in review:

1) Improved comments and formatting
2) Removed unused callbacks
3) Used library circular modulus function
Slightly refactored find_arc_center in order to place the calculated center
at the end of the list, instead of confusingly in the middle.
Moved path manager switching algorithms to library.
Removed path planning elements from ManualControl module.
Fixed UAVO xml formatting issues. Also improved HiTL comment and random
number generation.
Changed int to uint16_t in for() loops.
Fixed ALL_DIGNOSTICS typo.
Fixed spacing aroud {. Also added a static keyword to processWaypoints()
declaration.