AP_Mission: Command and waypoint handling library.

This is a library that re-factors functionality located in commands.pde and commands_process.pde.  The functionality provided by this library is required for updated waypoint guidance functionality described in this [Google doc](https://docs.google.com/document/d/1SgzhAhMwqujHcQHeGdDKyOAThpy4NqJGtPGjzJzNoaI/edit), and likely other future path planning features.

The library:
- Reads and writes MAVLINK commands to/from storage.
- Contains a waypoint queue of previous, current, and after waypoints.
- Provides commands associated with current mission leg.
- Allows incrementing waypoints and changing to specific waypoints at anytime.
- Handles DO_JUMP commands while maintaining a valid waypoint queue.
- Performs error checking on waypoint values.

I'm Interested to incorporate any feedback and comments by the team!  Once accepted I'll pull request incorporation into Arduplane.

Thanks!

-Brandon