Remove Boundary and GenericSegment2D, let AdaptiveCellEdge derive from Segment2D

  - remove all the weired Generic
  - restrict pred and succ domain as protected thus restrict their setter and getter in AdaptiveCellEdge to restrict precessor and successor type of AdaptiveCellEdge