I stumbled upon the operator new and operator new[] tests while
investigating an issue with operator new when exceptions are disabled,
and I realized that our test coverage was incomplete. This patch refactors
all the operator new and operator new[] tests to add consistency and
better coverage for scenarios in which it should be possible to override
an operator indirectly by defining another one (for example new(size_t, nothrow)
should use new(size_t) if it has been provided).
This is intended to be a NFC setting up the terrain for some refactoring
work and bug fix in operator new.