Create an optimal RRT path planner (RRT*)

The `plannerRRTStar`

object creates an asymptotically-optimal RRT
planner, RRT*. The RRT* algorithm converges to an optimal solution in terms of the state space
distance. Also, its runtime is a constant factor of the runtime of the RRT algorithm. RRT* is
used to solve geometric planning problems. A geometric planning problem requires that any two
random states drawn from the state space can be connected.

creates an RRT* planner from a state space object, `planner`

= plannerRRTStar(`stateSpace`

,`stateVal`

)`stateSpace`

, and a
state validator object, `stateVal`

. The state space of
`stateVal`

must be the same as `stateSpace`

.
`stateSpace`

and `stateVal`

also sets the
`StateSpace`

and `StateValidator`

properties of
the `planner`

object.

[1] Karaman, S. and E. Frazzoli.
"Sampling-Based Algorithms for Optimal Motion Planning." *International Journal of
Robotics Research .* Vol. 30, Number 7, 2011, pp 846 – 894.

`navPath`

| `plannerRRT`

| `stateSpaceDubins`

| `stateSpaceReedsShepp`

| `stateSpaceSE2`