Implement smart pointer for registry classes and test using this smart pointer for the GModelTemporalRegistry class.

The smart pointer takes care of deleting the pointer upon exit of gammalib. Before there were remaining allocated memory zones due to the static pointers holding the registry information. Using smart pointer it is made sure that the memory is deallocated properly.