This change does the following:
- eliminates the Process::GetUnixSignals() virtual method and replaces with a fixed getter.
- replaces the Process UnixSignals storage with a shared pointer.
- guarantees that Process::GetUnixSignals() can always return a UnixSignals reference.
- adds a Process constructor variant that can be passed the UnixSignalsSP. When the constructor without the UnixSignalsSP is specified, the Host's default UnixSignals is used.
- adds a host-specific version of GetUnixSignals() that is used when we need the host's appropriate UnixSignals variant.
- replaces GetUnixSignals() overrides in PlatformElfCore, ProcessGDBRemote, ProcessFreeBSD and ProcessLinux with code that appropriately sets the Process::UnixSignals for the process.
This change also enables some future patches that will enable llgs to be used for local Linux debugging.
Note I'm not currently using HostInfo for GetUnixSignals. I am happy to do that in a follow-up patch, but right now I want to minimize the number of changes vs. other branches and keep that other change separate.