Changed OMPL SimpleSetup member variable to shared pointer

This enables new OMPL features to be used with the ``moveit_planners_ompl`` package by allowing classes that inherit from OMPL's ``SimpleSetup`` to be loaded for use by MoveIt!. To accomplish this, I changed the ``ompl_simple_setup_`` member variable into a shared pointer, and made the appropriate changes throughout the code. I also moved the location where this object is initialized into the ``PlanningContextManager`` so that extra logic from the configuration settings or ``MotionPlanningRequest.msg`` can be used to decide which type of ``SimpleSetup`` to load.

Finally, I allowed the incoming ``MotionPlanningRequest`` message to be passed into the function that initializes the ``SimpleSetup`` class.

This PR does not change any behavior of  MoveIt! or OMPL, but it enables me to make future changes that will allow new configurations. Although that code is ready, I will save that for the next pull request to make reviewing this easier. That logic will be located [here](https://github.com/davetcoleman/moveit_planners/compare/simple_setup_ptr?expand=1#diff-ec2f413e00ecacb774350acba4ec41b0R226) where it says "// Choose the correct simple setup type to load"