Freedom: create second flash partition for waypoints

The flash chip is split in half into two 1 MB segments, one
for settings and one for waypoints.

Settings will probably need to be changed in terms of the slot
size if a single slot holds the whole path.
Path saving: use logfs to save multiple paths

Paths are saved using LogFS by using the path id as the
object id and the instance id to indicate the waypoint
number.  It still needs to make sure to erase any existing
waypoints from the flash chip before saving.  Also we will
need a "null" flag for previously existing waypoints in
ram since we cannot deallocate them currently.
PathPlannerSettings: add fields for manipuating saved paths

Add operations for load and save.
PathPlanner: load and save paths from uavo command

Still needs to provide feedback by setting completed or
failed.
Path Saving: loading waypoints works when already allocated

Fixes a bug where only newly allocated waypoints were set
Path Saving: set operation to indicate success

Now set to failed or completed according to what happened.
Path saving: erase previous waypoints before saving

This erases all consecutive (found) waypoints in flash for
the specified path.  This is necessary if there are more
waypoints in the flash chip than ram, which would result
in only some of them being overridden.
Path loading: mark any waypoints in ram not used invalid

Because we cannot unallocate waypoints, if previously a path
had more waypoints than the one being loaded, those waypoints
will still exist in ram.  Any remaining ones are set to
INVALID to indicate they should not be used.
Merge remote-tracking branch 'peabody/path_saving' into vrbrain_development
merged path_saving