CmdPal: Actually observe Details
Extensions can change the properties on their Details, and they should be observable, but they weren't. This is because the ShellPage is ultimately responsible for exposing the details, but it doesn't own the details. The selected ListItemViewModel from the ListPage does.
This PR just adds a event handler on ListViewModel. We'll attach/detach that handler to ListItemViewModels as the selection changes. In the body of that handler, we'll let the ShellPage know when the details object changes (by sending ShowDetails/HideDetails messages).
Closes #39216
@craigloewen-msft this is "Root cause why 'details page' won't refresh even though I change its contents"
Get this in first, my comments even make sense can do refactoring later on.