TrkExUtils: Additions to help with making intersection tools const.
The intersection tools currently start with a TrackSurfaceIntersection object, cache the information from it in member variables, step the path through the detector, and then create a new TrackSurfaceIntersection object.
We want to make the intersector interfaces const, which means getting rid of the information cached in tool member variables. We can streamline this by keeping the stepping state in a TrackSurfaceIntersection object directly, rather than in discrete member variables. This allows eliminating some copies at the end.
Add (non-const) interfaces allowing retrieving non-const references to the member data of TrackSurfaceIntersection.