Clean up RichReadout memory management
Addresses a minor memory leak on application exit, found by leak sanitizer.
==2559==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x7f5eb3108898 in operator new(unsigned long) /mnt/build/jenkins/workspace/lcg_contrib_release/LABEL/centos7/build/contrib/gcc-8.1.0/src/gcc/8.1.0/libsanitizer/lsan/lsan_interceptors.cc:229
#1 0x7f5e8c79733f in Rich::MC::Digi::DetailedFrontEndResponse::initialize() /workspace/build/BOOLE/BOOLE_HEAD/Rich/RichReadout/src/component/RichDetailedFrontEndResponse.cpp:62
Fixing it required overhauling the memory management to use shared and unique pointers as required throughout.