src: separate owning and non-owning AliasedBuffers
Move the reserve() method into an owning variant of AliasedBuffer, and split the two constructors to different classes to make the contract explicit instead of relying on run time CHECKs. Also deletes unused assignment operator and copy/move constructors to make sure they don't get copied by accident.
This addresses a TODO in aliased_buffer.h
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
tests and/or benchmarks are included -
documentation is changed or added -
commit message follows commit guidelines