Restructure and simplify batch initialization
Description
Now that batches always have contiguous memory, the allocate and deallocate routines are made private and there are now two kinds of initialization routines: either passing all bounds and the batch allocates the memory or passing a pointer to memory that was allocated before. This allows simplifying some of the logics, such as removing the (de)allocate_temporary routines.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.