Generate planner wrappers from a YAML config file

Instead of manually implementing a wrapper for each OMPL planner, I now
generate those wrappers from a YAML configuration file. This file
supports limiting each planner to a range of OMPL version numbers using
the semantic_version Python library.

This required a major re-factor (nearly a re-write) so I took this as
an opportunity to clean up the remainder of the code.