Corrected error in std::shared_ptr serialization.
Adjusted so that there is one instance of shared_ptr_helper per archive instance.  Before it was accidentally making one instance per pointer type which was not properly "matching up" shared/weak pointers.