Most of MemoryBuffer interfaces expose a RequiresNullTerminator parameter that's being used to:
- determine how to open a file (mmap vs open),
- assert newly initialized buffer indeed has an implicit null terminator.
This patch adds the paramater to the SmallVectorMemoryBuffer constructors, meaning:
- null terminator can now be added to SmallVectors that didn't have one before,
- SmallVectors that had a null terminator before keep it even after the move.
In line with existing code, the new parameter is defaulted to true. This patch makes sure all calls to the SmallVectorMemoryBuffer constructor set it to false to preserve the current semantics.
Please clean up the includes in a prep commit (no need for review IMO) rather than a drive-by.