This consolidates the code used in various places to initialize objects (usually for variables) into one central location.
It will also help reduce the number of changes needed when we make the upcoming API changes to AggregateStorageLocation and StructValue.
Depends On D155074
At least document the nullability of D and InitExpr?