Waypoint path plan filetting

So this is a small port of Kenz' really awesome #479 feature of filleting paths to the existing navigation solution.  Specifically it adds a button to GCS:

![screen shot 2013-05-10 at 4 19 15 pm](https://f.cloud.github.com/assets/618346/490329/61e7c8e8-b9b7-11e2-8e61-b677165f14d4.png)

Which will then process the path the same way the firmware code in #479 does and generate the equivalent filleted path representation with the existing waypoint representation.

![screen shot 2013-05-10 at 4 07 31 pm](https://f.cloud.github.com/assets/618346/490331/7b8bf1d4-b9b7-11e2-8338-5c20c117b6f9.png)

![screen shot 2013-05-10 at 4 07 49 pm](https://f.cloud.github.com/assets/618346/490332/7f160f42-b9b7-11e2-8665-833590407deb.png)

This in no way replaces the functionality of #479 which can also fillet in the first waypoint to the current location which this implementation cannot.  However this is useful for the time being for a few reasons

1) it allows visualizing the resulting path plan and even tweaking it by hand if the result isn't desirable or needs refinement
2) allows testing with filleted paths on the current followers
3) lets us play while #479 is fleshed out to support other platforms
4) provides a general architecture for processing flight plans in GCS according to various algorithms
5) this should definitely not do anything to block merging #479 since it is self contained in a single algorithm file and can easily be disconnected when no longer needed