<utils/Macros.h>: introduce

Summary:
Issue:
These macros are non-standard to the C standard, but standard in GCC.
This causes issues since compiler-rt assumes we provide these when built with
LLVM Clang.

Solution:
Include these macros as a easy to utilize header.

Test Plan: verification is a WIP

Reviewers: randall.rushing, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D107

Change-Id: If4f06e75f0b42f9656618ee3dad6f8a4a997a377
Signed-off-by: DHOMD <DHO@dho.im>
init: Add vendor-specific initialization hooks

Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
(cherry picked from commit a36f7998a135a63934465889f089f96deefe7c42)
(cherry picked from commit 2ce27688b13bbc9a2237442ec2d6a554325ef658)
(cherry picked from commit 8e4dc4f79011bf0a8832e8d1251fc17b3e542057)
Merge remote-tracking branch 'github/cm-11.0' into cm11mod