Introduce a extend function

unlike this function does not make a chain with redundant entry for the
last element of the first chain and the first element of the second,
when they are equal.
Move drop functions to IncidenceGeometry and prove a few theorems