Add options to LinalgPromotion to use callbacks for implementating the
allocation, deallocation of buffers used for the promoted subviews,
and to copy data into and from the original subviews to the allocated
buffers.
Also some misc. cleanup of the code.
Depends On D80188
Could we have defaultAllocBufferCallback, ... callbacks exposed, drop the optional and drop the special if/else casing in the impl?