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.
It depends on where we actually do IK for Cartesian points. It is conceivable that the sampler could know about the robot state and the `TrajectoryPt` remain purely process-descriptive.