Define new capsule body class with distance computation methods, and
associated factory.

  * Add dependency to hpp-geometry
  * Define new CapsuleBody class that derives from Body.
  * We assume that the body has only one inner object of type
    hpp::geometry::collision::Segment that represents a capsule.
  * Beside a CkcdAnalysis vector attribute, class has a segment pair
    attribute to store self-collision pairs.
  * When adding inner and outer segments, self-collision pairs are
    added.
  * When computing distance for a distance pair, kcd is used for
    segment-polyhedron analyses, and a fast distance computation
    is used for segment-segment pairs.
  * Define method to compute minimum distance for all pairs of a body.
Add methos to compute minimum distance for capsule pairs and KCD pairs separately.
Fix joint printer to handle anchor joints.
Temporary fix, do not check whether object can be cast to solid
component.
Do not add segment for collision checking.

  * It is assumed that the equivalent capsule has already been added
    to outer objects list.
Use segment component instead of segment geometry in typedef.
Remove unncessary method for adding inner capsules.

  * There is now only one way to add an inner capsule to a capsule
    body.
Update commentary.
Add segment as an outer oubject.
Fix bug when flag HPP_DEBUG is activated.
Revert "Temporary fix, do not check whether object can be cast to solid"

This reverts commit 4d85b41462b436f468c1b5c3a8ff74e890edc091.
Add LGPL license.
Synchronize cmake submodule