The sentinel pattern in ConnectTrace has been unnecessary since conflicted transaction tracking was removed in 5613f9842b4000fed088b8cf7b99674c328d15e1. Without that tracking ConnectTrace is a trivial wrapper around std::vector, so it seems better to just replace it with the vector directly.
Also modernize/update naming along the way, renaming PerBlockConnectTrace to ConnectedBlock
Refactor, no behaviour change.