Made GeometricDet thread-safe

GeometricDet::setGeographicalID is now non-const. To allow children
of a GeometricDet to have their geomgraphicalID set we added a
component(size_t) method which gives non-const access to a child.
All classes which were modifying the GeometricDet have been updated
to support the new interface.