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.
Path saving: missed a parentheses
Path saving: move function definitions to include file
PathPlannerSettings: use an <options> section
Waypoint flash: reduce slot size to 64 bytes

The waypoints are 21 bytes.  However, the slot size has a 12 byte
header so that would require a 33 byte slot.  Since it is powers
of two we end up at 64 bytes, which is more future proof anyway.
PathPlannerSettings: fix indentation
Path saving: add partition for Quanton
Path saving: add revolution support
Path saving: add support for revomini
Path saving: add support for flyingf4
Path saving: add support for FlyingF3

We probably need to increase the total space for FlyingF3 now.
The internal flash sector sizes on F3 is 2k and a total of 8k is
reserved for saving.  That means both the settings and waypoints
partitions only have two arenas each.
PiOS FlashFS: create simulation stubs for compiling
GroundPathFollower: remove static from *Start and *Initialize

Static is fine for the firmware since it uses linker tricks to call the
method but simulation calls it directly.  That means it needs to not
have static.