add missing #include
add chains function that has same name as decorator method
handle iterators and adaptors that produce VectorD

in get_vector_d_geometry()
simplify the generic geometry support

This is necessary to support containers that return adaptors to the
underlying type, rather than returning the type itself.