Removed inappropriate use of castTo and fixed getByToken problem

-The edm:RefToBase<>::castTo was being used as a complicated and slow
way of doing a dynamic cast of the element of the container.
-The optional call to getByToken for std::vector<Trajectory> was using
the same GetByTokenT<> as for the Tracks. This can not work since they
are different types. Changed to use a separate container of tokens for
the trajectories.
-Removed unnecessary copies of containers from the Event.
-Used a reference to the Track directly rather than making a unnecessary
TrackRef.
Removed inappropriate use of castTo

The code was using edm::RefToBase<>::castTo as a complicated and
slow method of doing a dynamic_cast of the element of the container.
Doing the dynamic_cast directly is cleaner and faster as well as
avoids future complications with castTo.
Merge pull request #6833 from Dr15Jones/removeCastTo

Removed poor use of Ref classes in PFTracking and fixed getByToken problem