PSA: operator new and ASTContext

I've consolidated the implementations of operator new and operator delete on a couple dozen classes which are always allocated in the AST context. On main, these now inherit from an ASTAllocated base class which formalizes this pattern.

If you're working on a PR which adds a new AST-owned class to Swift, please update it to use this, and if you spot an operator new for ASTContext that I've missed, please update that too.