Merge pull request #1 from mylene-campana/master

Fix the issue of adding obstacles when the problem is not defined
Fix bug in random-shortcut.
Fix warning introduced by modification in hpp-model.
Use Eigen::Ref for Jacobian matrices.
Modify Roadmap and Node interface

  - For clarity, define two methods instead of using default parameters:
     Roadmap::addNode,
     Roadmap::nearestNode,
     Node::Node.
  - Computation are unchanged.
Fix bug in DiffusingPlanner when planning with locked degrees of freedom.
Modify the way constraints are passed to paths in steering methods.

  - abstract class steering method set the constraints to the path after
    construction of concrete instance.
Add a constructor that takes a ConstraintSet in class Path

  - use this constructor when extracting a path.
In DiffusingPlanner::extend, apply constraints if there is no ConfigProjector.
Add virtual methods print in Path classes.
Cosmetic change
  enforce 80 columns,
  correct typo.
Do not copy StraightPath instances
  - as they are immutable and handled through shared pointers,
    StraightPath::copy returns a pointer to the same instance.
implement extract method in StraigthPath.
Path::extract: if sub-interval is the whole path, return copy of path.
Path does not derive anymore from roboptim::Trajectory.
Partially revert 8732aa7e2fcdce

  When problem is constrained, extensions toward q_rand from each connected
  component usually reach different configurations, even if no collision occur.
  These configurations need to be connected to each other in a second step.