Initial implementation of JointTrajectoryPtDefaultSampler

DO NOT MERGE THIS PR!

This PR is for discussion only, it is not ready to be merged. Please let me know your thoghts on implementing a sampler. Some notes I already realize:
* I don't have a good way of passing data of different `TrajectoryPts` to the sampler
* I would like associate a sampler with each `TrajectoryPt` and implement `TrajectoryPt::sample()` which calls the pt's associated sampler, but I have to resolve some issues, including how two classes can easily depend on each other (sampler would depend on pt, pt would depend on sampler. Maybe its not a big deal if they remain in one `descartes_core` library?)
* The `SamplerState` currently holds alot of data as of the `init()` call. I would like to have the `operator++` actually calculate the next sample instead of just retrieving it from an array of precalculated samples.

I have included a unit test to show how the sampler may be used.
Might want to use this convenience macro, see [here](https://github.com/ros-industrial-consortium/descartes/blob/hydro-devel/descartes_core/include/descartes_core/utils.h#L27).