Introduce `sanitizer_malloc_introspect_t` for Darwin which is a sub-class of…

Description

Introduce sanitizer_malloc_introspect_t for Darwin which is a sub-class of Darwin's malloc_introspection_t and use it when setting up the malloc zone.

Summary:
Currently sanitizer_malloc_introspection_t just adds a version field
which is used to version the allocator ABI. The current allocator ABI
version is returned by the new GetMallocZoneAllocatorEnumerationVersion() function.

The motivation behind this change is to allow external processes to
determine the allocator ABI of a sanitized process.

rdar://problem/45284065

Reviewers: kubamracek, george.karpenkov, vitalybuka

Subscribers: #sanitizers, llvm-commits

Differential Revision: https://reviews.llvm.org/D54045